¿Cómo mezclar los caracteres de diferentes cadenas dentro de un arreglo?
Estoy tratando de leer un archivo CSV y luego mezclar los caracteres de las cadenas en el array. El archivo CSV contiene un diccionario de inglés a alemán. Así es como se ve:
comer,essen
jugar,spiel
dormir,schlafen
La salida deseada debería verse así:
comer sesen
jugar lpsie
dormir fenlahsc
Este es mi código hasta ahora (sigo obteniendo el error “el método no estático shuffle (String) no se puede referenciar desde un contexto estático”):
public class Shuffle {
public static void main(String[] args) {
String path = “/Users/SaberKlai/Documents/vokabeln.csv”;
String line = “”;
try {
BufferedReader br = new BufferedReader(new FileReader(path));
Shuffle s = new Shuffle();
while ((line = br.readLine()) != null) {
String[] values = line.split(",");
System.out.println(values[0] + " " + shuffle(values[1]));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void shuffle(String input){
List<character> characters = new ArrayList<character>();
for(char c:input.toCharArray()){
characters.add(c);
}
StringBuilder output = new StringBuilder(input.length());
while(characters.size()!=0){
int randPicker = (int)(Math.random()*characters.size());
output.append(characters.remove(randPicker));
}
System.out.println(output.toString());
}
}
davy.ai
Para solucionar el error “no se puede hacer referencia al método no estático shuffle (String) desde un contexto estático”, debes hacer que tu método shuffle sea estático. Aquí está el código actualizado:
También realizamos un par de cambios en el código: