Ich habe mich gefragt, ob es eine Möglichkeit gibt, in Java mit einer bedingten Anweisung und einer Schleife oder einer verschachtelten Schleife eine abwechselnde positive und negative Zahlenfolge zu erstellen. Ich möchte meine Ausgabe so haben: 1, -2, 3, -4, 5 und so weiter, wenn sie eine höhere Zahl eingegeben haben. Dies ist, was ich im Moment habe und es druckt nur positive Zahlen. Beachten Sie, dass ich auch einen Scanner verwende, damit er anpassbar ist.
System.out.println("Enter a number:");
int num2 = scan.nextInt();
for (int i = 1;i <= num2;i++) {
System.out.print(i+" ");
}
Denken Sie nur an einfache Mathematik. Das Beispiel, das Sie gegeben haben, hat ungerade Zahlen positiv und gerade Zahlen negativ - 1, -2, 3, -4, 5, -6 ... So wie Andy Turner kommentierte:
i * ((i % 2 == 0) ? -1 : 1.)
Ebenso %
der Modulo-Operator, er gibt Ihnen den Rest der Division, zB 2 / 2 ist 1 mit 0 Rest, 3 / 2 ist 1 mit 1 Rest. Der ternäre Operator () ? true : false
wertet den Ausdruck vor dem aus ?
und liefert bei true den Wert vor dem Doppelpunkt, bei false den Wert nach dem Doppelpunkt.
Wenn es jetzt nicht unbedingt um gerade/ungerade Zahlen geht, können Sie einfach einen Multiplikator beibehalten:
int num2 = scan.nextInt();
for (int i = 1, sig = 1; i <= num2; i++, sig = sig * -1) {
System.out.print(Integer.toString(i * sig));
}
Durch Multiplizieren mit -1 wird das Vorzeichen jedes Mal umgedreht.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen