Als Anfänger mache ich Online-Probleme, um Arrays zu verstehen, das ist keine Hausaufgabe, sondern Übung. Jeder Rat hilft!Array-Elemente Vergleich Java
Der Code sollte Benutzereingabe nehmen.
Problem:
Drucken zwei Leerzeichen getrennte ganze Zahlen, die jeweiligen Vergleichswerte verdient mit A und B bezeichnet
- Probeneingangs
- Beispielausgabe
Erläuterung
In diesem Beispiel: A = (a0, a1, a2) wobei die Werte (5,6,7)
B = (b0, b1, b2) wobei die Werte (3,6,10) sind
Vergleichen Sie jedes einzelne Ergebnis:
a0> b0 ==> also erhält A 1 Punkt.
a0 = b0 ==> niemand erhält einen Punkt.
b0> a0 ==> B erhält also 1 Punkt.
A's Vergleichswert ist 1 und B's Vergleichswert ist 1. So drucken wir 1 1 in einer einzigen Zeile.
Ansatz 1:
Zuerst dachte ich, dies als ein 2D-Array Umsetzung, aber ich habe nur so weit, wie ich bin nicht sicher, wo der Vergleich zu implementieren:
public class CompareElem2DArray{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int array2d [][]= new int[3][3];
System.out.println("Please enter 3 marks for A and 3 marks for B: ");
for(int a = 0; a<3; a++) //row
{
for(int b=0; b<3; b++)//column
{
int array2d[a][b] = in.nextInt();
}
}
for (int column = 0; column<3; column++)
{
for(int row=0; row<3; row++)
{
System.out.println(array2d[column][row]+" ");
}
}
System.out.println();
}
}
Ansatz 2 :
Dies ist mein zweiter Versuch ohne Verwendung von 2D-Arrays.
public class Comparison {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int a0 = in.nextInt();
int a1 = in.nextInt();
int a2 = in.nextInt();
int b0 = in.nextInt();
int b1 = in.nextInt();
int b2 = in.nextInt();
int a[] = new int[3];
int b[] = new int[3];
int firstAns = 0;
int secondAns = 0;
for(int i = 0; i<3; i++)
{
int a[i] = in.nextInt();
System.out.println(a[i]);
}
for(int j = 0; j<3; j++)
{
int b[j] = in.nextInt();
System.out.println(b[j]);
}
for(int z = 0; z<3; z++)
{
if(a[z]>b[z])
{
firstAns++;
}
else if(a[z]<b[z])
{
secondAns++;
}
else
{
return;
}
}
System.out.println(firstAns);
System.out.println(secondAns);
}
}
I Ich bin nicht sicher, was Sie hoffen, um Antworten zu erhalten, aber mein erster Gedanke ist, dass Sie vorschlagen, dass Sie über Ihren Kodierungsstil nachdenken. Es ist sehr wichtig, dass die Platzierung der Klammern, die Benennung, der Abstand usw. im Vordergrund stehen. Ihr Code muss von Ihnen und anderen gelesen werden. Das könnte wichtiger sein als die Ausführung. Dein Code ist schwer zu lesen. Der Java-Standard schlägt vor, Klammern an das Ende der Zeilen und nicht an die nächste Zeile zu setzen. C# Entwickler neigen dazu, sie in die nächste Zeile zu setzen. Ich bevorzuge das ehemalige. Du solltest auch. – duffymo
Ein 2D-Array macht hier nicht viel Sinn, weil Sie nur zwei Arrays haben, und ein 'int [2] [x]' Array ist unnötig kompliziert. – Zircon
Es gibt keine Frage in Ihrer "Frage". Sie werden mehr Fische fangen, wenn Sie etwas wie "Hier ist mein Code, und hier ist die Fehlermeldung, die ich bekomme, wenn ich versuche, es zu kompilieren, was habe ich falsch gemacht?" oder "Hier ist mein Code, hier ist, was ich bekomme, wenn ich es führe, Hier ist, was ich dachte, dass ich bekommen würde, was vermisse ich?" –