java - 如何在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:") 的代码块;'。谢谢你。
解决方案
可能是下面的链接可能会有所帮助
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;
}
推荐阅读
- laravel - 显示您关注的用户的帖子 [overtrue/laravel-follow]
- php - 无法上传两个相同的图像文件
- mysql - 该值未显示在 sp
- asynchronous - 用户离开后如何断开不和谐机器人与语音通道的连接?
- c# - Linq to SQL Server Name Changes
- ios - 如何在首次应用启动时添加 iOS 叠加视图?
- serilog - Serilog Selflog 仅将异常数据写入文件一次
- java - 尝试使用连接池和单个连接的资源
- python - 正确启动/停止 Selenium 独立服务器
- python - “pygame.error:ModPlug_Load failed”尝试从字节播放声音时