【问题标题】:Can someone help me fix this program?有人可以帮我修复这个程序吗?
【发布时间】:2020-03-25 13:18:19
【问题描述】:

这是一个正确的语法,并且 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]);
        }
    }
}

【问题讨论】:

  • 您没有使用 do-while 循环。你只是在使用 while 循环
  • 你能修复这个程序吗? :(@Steephen

标签: java arrays input output do-while


【解决方案1】:
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 是一个入口控制循环。

【讨论】:

  • 现在试试@Ravi Widialvana,我修复了一个我在循环中忽略的逻辑错误。
  • 再试一次。循环条件的这些问题应该是您自己设法解决的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-26
  • 2014-02-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多