Java 如何打印不是0的整数?
在为我的java类编写代码时,程序按预期运行。我遇到的唯一问题是,州际公路是否为405,例如,当它打印时,它打印05,将问题标记为错误,因为问题只是查找5。有什么帮助吗Java 如何打印不是0的整数?,java,Java,在为我的java类编写代码时,程序按预期运行。我遇到的唯一问题是,州际公路是否为405,例如,当它打印时,它打印05,将问题标记为错误,因为问题只是查找5。有什么帮助吗 import java.util.Scanner; highwayNumber=scnr.nextInt(); 如果((公路编号>999)| |(公路编号99)和((公路编号99)和((公路编号0)和(highwayNumber0)和(highwayNumber
import java.util.Scanner;
highwayNumber=scnr.nextInt();
如果((公路编号>999)| |(公路编号<1)){
System.out.println(highwayNumber+“不是有效的州际公路编号”);
}
否则如果((公路编号<100)和((公路编号>0)和((公路编号%2==0)){
System.out.println(““+公路号+”是主要的,向东/向西。”);
}
否则如果((公路编号<100)和((公路编号>0)和((公路编号%2!=0)){
System.out.println(““+公路号+”是主要的,向北/向南。”);
}
否则如果((公路编号>99)和((公路编号<1000)和((公路编号%2==0)){
System.out.println(“+highwayNumber+”是辅助的,服务于“+String.valueOf(highwayNumber).substring(1)+”,向东/向西。”);
}
否则如果((公路编号>99)和((公路编号<1000)和((公路编号%2!=0)){
System.out.println(“+highwayNumber+”是辅助的,服务于“+String.valueOf(highwayNumber).substring(1)+”,向北/向南。”);
}
}
}
只需将子字符串
替换为%
模运算符:
System.out.println("The " + highwayNumber + " is auxiliary, serving the " + String.valueOf(highwayNumber % 100) + ", going east/west.");
System.out.println("The " + highwayNumber + " is auxiliary, serving the " + String.valueOf(highwayNumber % 100) + ", going north/south.");
只需将
子字符串
替换为%
模运算符:
System.out.println("The " + highwayNumber + " is auxiliary, serving the " + String.valueOf(highwayNumber % 100) + ", going east/west.");
System.out.println("The " + highwayNumber + " is auxiliary, serving the " + String.valueOf(highwayNumber % 100) + ", going north/south.");
与其使用
String.valueOf(highwayNumber).substring(1)
,不如使用(highwayNumber%100)
?或者,String.valueOf(highwayNumber%100)
,如果您愿意的话。与结果不相关,但是由于您已经验证了在第一个if
块中highwayNumber
介于1
和999
之间,因此所有(highwayNumber>0)
和(highwayNumber<1000)
后续中的条件,否则如果
块是多余的。“例如,405打印时,它会打印05,因为问题只是在寻找5”-您需要清楚地解释要求是什么。这是错误的,因为它需要最后一个数字,还是因为它需要最后两个没有前导零的数字?注意:对代码的正确更正将取决于要求!!与其使用String.valueOf(highwayNumber).substring(1)
,不如使用(highwayNumber%100)
?或者,String.valueOf(highwayNumber%100)
,如果您愿意的话。与结果不相关,但是由于您已经验证了在第一个if
块中highwayNumber
介于1
和999
之间,因此所有(highwayNumber>0)
和(highwayNumber<1000)
后续中的条件,否则如果
块是多余的。“例如,405打印时,它会打印05,因为问题只是在寻找5”-您需要清楚地解释要求是什么。这是错误的,因为它需要最后一个数字,还是因为它需要最后两个没有前导零的数字?注意:对代码的正确更正将取决于要求!!