如何在java中编写逆序编程?

时间:2014-11-24 14:57:17

标签: java

我是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

1 个答案:

答案 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();
    }

}