首页 > 解决方案 > 如何在Java编程中循环代码块

问题描述

我正在编写代码以按升序显示一组数字。我已经完成了第一部分,即获取数组的实际命令。第二部分是我必须让程序在排列数字数组后进行初始化。这是我的代码。

package ascendingorder;
import java.util.Scanner;

public class Ascending_Order 
{
    public static void main(String[] args) 
    {
        int n, temp;
        Scanner s = new Scanner(System.in);
        System.out.print("Enter no. of elements you want in array:");
        n = s.nextInt();
        int a[] = new int[n];

        System.out.println("Enter all the elements:");
        for (int i = 0; i < n; i++) 
        {
            a[i] = s.nextInt();
        }
        for (int i = 0; i < n; i++) 
        {
            for (int j = i + 1; j < n; j++) 
            {
                if (a[i] > a[j]) 
                {
                    temp = a[i];
                    a[i] = a[j];
                    a[j] = temp;
                }
            }
        }
        System.out.print("Ascending Order:");
        for (int i = 0; i < n - 1; i++) 
        {
            System.out.print(a[i] + ",");
        }
        System.out.print(a[n - 1]);
    }
}

编译和执行代码时,程序会提示用户输入数组大小,输入后,程序会要求用户输入数组的元素。之后,用户按回车键,程序按升序显示结果。

之后程序应该循环返回并提示用户输入数组大小,然后是元素等等。此外,当用户输入“n”或“x”之类的值时,程序应该终止。请帮助我完成这部分,因为我不知道或如何放置 for 循环以便循环来自 'System.out.print("Enter no. of elements you want in array:") 的代码块;'。谢谢你。

标签: javaloops

解决方案


可能是下面的链接可能会有所帮助

[ java程序循环回开始

boolean isRunning = true;
String tryAgain = "";

while (isRunning) {

 // All your code you have in your example.

 // Ask user if he wants to retry with a scanner.
 tryAgain = <use scanner here>;
 if (tryAgain.equals("no") || tryAgain.equals("No") ) isRunning = false;

}

或者

String tryAgain = "";

while (true) {

 // All your code you have in your example.

 // Ask user if he wants to retry with a scanner.
 tryAgain = <use scanner here>;
 if (tryAgain.equals("no") || tryAgain.equals("No") ) break;

}

推荐阅读