Jafar Moukalled:
Ich versuche, ein Programm zu schreiben, das die Summe der ersten n positiver ungeraden Zahlen berechnet.
Ich habe Probleme, herauszufinden, wie n zu übernehmen in der Summe zu finden. Ich habe bereits ein tun / while-Schleife mir einen positiven Wert zu erhalten, um sicherzustellen, wenn n Wert zuweisen. Ich weiß, dass ich ein for-Schleife verwenden müssen, aber ich bin nicht wirklich sicher, wie ich das tun würde.
Scanner input = new Scanner(System.in); // open input stream
String cleanUpStr; // clean kbd buffer
int n; // number
int sum; // sum of numbers
int cntr; // counter for loop
cleanUpStr = "nothing yet";
n = 0;
sum = 0;
cntr = 0;
//prompt user for the value of n
// use a loop to ensure a positive output
do
{
System.out.println("Enter the value of n");
n = input.nextInt();
cleanUpStr = input.nextLine();
// print error if n is invalid
if (n < 0)
{
System.out.println("Invalid n value of " + n + ", try again.");
} // end if
}while(n < 0);
for(cntr = 0; cntr < n; ++cntr)
{
} // end for
} // end main
Zum Beispiel: Wenn n = 5, dann sollte diese Berechnung 1 + 3 + 5 + 7 + 9.
oleg.cherednik:
Stream
gut, aber wenn Sie einen Anfänger eine einfache alt sind for
Schleife ist dein bester Freund.
public static int sumForOddNumbers(int total) {
int sum = 0;
for(int i = 0, odd = 1; i < total; i++, odd += 2) {
sum += odd;
}
return sum;
}