有人可以帮我修复此程序吗?

时间:2019-11-30 05:00:41

标签: java arrays input output do-while

这是正确的语法,并且100%有效。但是我的讲师希望此语法的工作方式不带'break'功能,但仍然使用'do-while'功能。有人可以帮我吗?我被困住了:(

这是代码:

import java.util.Scanner;
public class NewClass {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        int[] bil = new int[10];
        int x=0;
        while(x!=10){
            System.out.print("Input ke-"+(x+1)+" : ");
            bil[x]=input.nextInt();
            if(bil[x]==0) {
                x++;
                break;
            }
            x++;
        }
        System.out.println("==============================");
        for(int j=0; j<x; j++){
            System.out.println("Data ke-"+(j+1)+": "+bil[j]);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

import java.util.Scanner;
public class NewClass {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        int[] bil = new int[10];
        int x=0;
        do{
            System.out.print("Input ke-"+(x+1)+" : ");
            bil[x]=input.nextInt();
            x++;
        }while(x!=9 && bil[x-1] != 0);
        System.out.println("==============================");

        int j = 0;
        do{
            System.out.println("Data ke-"+(j+1)+": "+bil[j]);
            j++;
        }while (j != x-1);
    }
}

Do while检查循环运行后的条件。因此,您可以使用它们来打破循环。

我在第一个循环中将x!= 10更改为x!=9,因为在x变成9后循环必须中断,否则数组将存储11个元素。

for循环也做了类似的事情。

如果您想了解更多信息,请进一步研究do-while是一个出口控制循环,而while是一个入口控制循环。