我是Java编程的新手,我想知道如何编写从键盘读取任意数量正整数的程序,然后以相反的顺序打印它们。当用户输入负数时,读数停止。执行的一个例子:
Enter positive integers. End by giving a negative integer.
Integer 1: 5
Integer 2: 10
Integer 3: 15
Integer 4: 20
Integer 5: -7
Number of positive integers: 4
In reverse order: 20, 15, 10, 5
答案 0 :(得分:-1)
在do-while loop
内输入您的输入,直到循环条件变为false,表示y
为负数。由于在循环条件为false之前,您的i
值已递增,因此将i
值减少1个外循环。
接下来,在递减for loop
内,以递减的数组索引打印变量,因此它将以相反的输入顺序打印。
import java.util.*;
/**
*
* @author Capt. Jack Sparrow, pirate lord of the seven seas
*/
public class Example {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner s1 = new Scanner(System.in);
int[] x = new int[50];
int i =0, y;
do
{
System.out.println("Enter new positive integer: ");
y = s1.nextInt();
x[i] = y;
i++;
}while( y >= 0);
i--;
System.out.println("Number of positive integers: "+i);
System.out.print("In reverse order: ");
for(int j = i; j >0; j--)
{
System.out.print(x[j-1] + " ");
}
System.out.println();
}
}