gpt4 book ai didi

java - 未使用笔百分比

转载 作者:行者123 更新时间:2023-12-02 05:16:40 24 4
gpt4 key购买 nike

声明说:

一家钢笔制造商对其产品进行了自动化质量控制。当一个钢笔符合最低要求,质量控制单位写字母“S”,否则写“N”,最终确定时写“F”。考虑到每次之后这些字符对设备进行了“介绍/输入”。编写一个程序来计算未达到最低制造要求的钢笔百分比。应该设备正确写入数据。 (Boligrafos.java)。

我输入了这段代码:

import java.util.Scanner;

public class Boligrafs {

public static void main ( String [] args ) {

Scanner sc = new Scanner (System.in);

String estat;
int contador1 = 0, contador2 = 0;
float percentatge;

System.out.println("Introdueix un estat del boligraf");
estat = sc.next();

while (estat == "S" || estat == "N") {
if (estat == "S"){
System.out.println("Introdueix un estat del boligraf");
estat = sc.next();
}
else if (estat == "N"){
System.out.println("Introdueix un estat del boligraf");
estat = sc.next();
contador1 = contador1 + 1;
}
contador2 = contador2 + 1;
}
if (estat == "F") {
System.out.println("Has finalitzat");
}

percentatge = 100 * contador1 / contador2;
System.out.println("El percentatge es:"+percentatge+"%");

}
}

我无法理解这个错误,因为我认为我的程序是正确的:

线程“main”中的异常 java.lang.ArithmeticException:/为零 在Boligrafs.main(Boligrafs.java:32)

最佳答案

问题在于您使用 == 将您输入的字符串与程序中硬编码的字符串进行比较。将所有==替换为.equals(),问题就应该解决了。

例如,将 estat == "S" 替换为 estat.equals("S")

关于java - 未使用笔百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26886691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com