Das hinzufügen der null für eine einstellige Zahl, Ist es möglich?
public class MultiplicationTable {
public static void main (String[]a){
int[] x;
x = new int[10];
int i;
int n=0;
for (i=0;i<x.length;i++){
n++;
x[i]=n;
System.out.print(x[i] + " ");
}
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[0] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[1] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[2] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[3] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[4] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[5] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[6] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[7] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[8] * x[i] + " ");
System.out.println();
for (i=0;i<x.length;i++)
System.out.print(x[9] * x[i] + " ");
}
}
Dies ist ein Programm, das anzeigen einer Multiplikation Tabelle wie diese:
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
===============================================================
Er ausgeführt wird und korrekt, aber ich will es wie folgt Aussehen:
01 02 03 04 05 06 07 08 09 10
01 02 03 04 05 06 07 08 09 10
02 04 06 08 10 12 14 16 18 20
03 06 09 12 15 18 21 24 27 30
04 08 12 16 20 24 28 32 36 40
05 10 15 20 25 30 35 40 45 50
06 12 18 24 30 36 42 48 54 60
07 14 21 28 35 42 49 56 63 70
08 16 24 32 40 48 56 64 72 80
09 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
===============================================
Gibt es eine Möglichkeit?
- Wenn Sie jemals begegnet code dupliziert mehr als, naja, sagen wir mal, Stopp und Fragen Sie sich, was ist der einfachere Weg? Betrachten Sie nun das umschreiben der oben mit einer[Mutter] loop-Konstrukt. "copy & Paste" ist nicht eine Sprache konstruieren/tool.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, Sie können! Sie können
String.format
hinzufügen, zero-padding, um Ihre Ausgabe.Beispiel:
String.format("%05d", 2)
produzieren würde00002
.Einige Verbesserungen auf den aktuellen code:
Ich bin nicht sicher, warum Sie wollen zu speichern Sie die zahlen in ein array (für die Praxis Zweck vielleicht), aber das ist nicht nötig, denn es geht von 1 bis 10 sowieso. Aber wenn Sie das tun wollen, brauchen Sie nicht beide
i
undn
.Zweitens, ich bin mir sicher, dass Sie erkennen, dass Sie eine Menge von doppelten code, und es ist sehr sequentiell. Sie können tun, dass mit Hilfe von 2 geschachtelten for-Schleifen, anstatt 10 einzelne loops:
Ja:
Wenn Sie vertraut sind mit
printf
in C, dann wird dies vertraut sein. Wenn nicht, Lesen Sie die java-Referenz auf String.format format-strings.Auch, anstatt 10
System.out.println
Anweisungen, die Sie verwenden können, eine doppelt geschachtelte Schleife mit zwei Zählern. Eine zu zählen, welche Zeile du bist inj
und eine für jede Spaltei
.