Ich habe ein 2D-Array, das die Antwort Ja/Nein speichert, wenn der Benutzer abstimmt, so für meinen Fall Zeile 1 ist Frage 1, dann wenn eine Frage hinzugefügt Zum System geht es in Zeile 2 usw. Und die Wähler-ID ist die Spalte, was ich brauche, ist die Anzahl der Ja/Nein-Antworten zu zählen, um die Anzahl der Stimmen für jede Frage zu erhalten.Schleife durch 2D-Arrays und zählen die Ergebnisse für jede Zeile getrennt (Java)
Ich habe es geschafft, das gesamte Array durchzulaufen und die Ja/Nein-Antworten zu zählen (was funktionieren würde, wenn ich nur eine Frage wollte), aber ich kann mein System nicht dazu bringen, die Ergebnisse für jede Zeile auszugeben (Frage) in einer Schleife.
Hier sind meine Arrays, die die Antworten speichern
public static List<String[][]> voteList = new ArrayList<String[][]>();
public static String[][] arrayOfAnswers = new String[100][100];
public static List<Referendum> referendumList= new ArrayList<Referendum>();
Dies ist, wie ich die Antworten
System.out.println("Enter your first name here: ");
String first = Scanner.nextLine();
System.out.println("Enter your surname here: ");
String surname = Scanner.nextLine();
System.out.println("Enter your city here: ");
String city = Scanner.nextLine();
User user1=new User();
int vid=user1.getTheIndex(first, surname, city);
System.out.println("Enter your answer for the question: ");
String theanswer = Scanner.nextLine();
if(theanswer.toUpperCase().equals("YES"))
{
arrayOfAnswers[qid][vid]=theanswer;
voteList.add(arrayOfAnswers);
System.out.println("Thanks for voting. \n");
}
else if(theanswer.toUpperCase().equals("NO"))
{
arrayOfAnswers[qid][vid]=theanswer;
voteList.add(arrayOfAnswers);
System.out.println("Thanks for voting. \n");
}
else
{
System.out.println("You must enter a yes and no answer, please try again.");
}
bin Speicherung Und dies ist die Schleife, wo ich zähle ich versuche zu die Ja/Nein-Antworten für jede Zeile (Frage)
for (Referendum q: Menu.referendumList)
{
int i=0;
int yesCount = 0;
int noCount = 0;
for(int j=0; j<Menu.arrayOfAnswers[i].length; j++)
{
if(Menu.arrayOfAnswers[i][j] != null)
{
if(Menu.arrayOfAnswers[i][j].equals("yes"))
{
yesCount++;
}
else if(Menu.arrayOfAnswers[i][j].equals("no"))
{
noCount++;
}
}
}
System.out.print("Referendum : " + q.question + " \n");
System.out.println("Votes yes: " + yesCount);
System.out.println("Votes no: " + noCount + "\n");
}
Benötige ich mein 2D-Array nicht mit dieser Methode? es macht jedoch Sinn und scheint wie der logischere Ansatz – JHargreaves
Nein, Sie würden es nicht brauchen. Aber wieder kommt es darauf an. Mein Ansatz ist eher ein OOP-Stil ... – ACV