gpt4 book ai didi

java - 我遇到前导零问题

转载 作者:行者123 更新时间:2023-12-01 16:44:30 24 4
gpt4 key购买 nike

我试图让它识别程序中的前导零,我想使用 'String.format("%03d", code);'会处理它,但我仍然没有得到预期的结果。

import java.util.Scanner;  
import java.io.*;
public class Main{
public static void main(String args[]){
Scanner sc =new Scanner(System.in);
System.out.println("Enter the shipment code :");
int code = sc.nextInt();
String.format("%03d", code);
// fill the code
if( code == 111 ){
System.out.println("All ways");
}

else if( code == 110){
System.out.println("Airway and Waterway");
}

else if( code == 011){
System.out.println("Waterway and Roadway");
}
else if( code == 010){
System.out.println("Waterway");
}
else if( code == 101){
System.out.println("Airway and Roadway");
}
else if(code == 001){
System.out.println("Roadway");
}
}
}

最佳答案

你在这里做错了什么。

011010001八进制数字,因为它们以零开头。
此外,使用 String.format 在这里是没有意义的,因为不使用结果值。
这可能就是不考虑您的 if 分支的原因。

final String formattedValue = String.format("%03d", code);

现在您可以使用 formattedValue 作为 if 语句的比较值。
示例

if ("111".equals(formattedValue)) { ... }

请注意,也许不需要将 int 转换为 String。但如果您坚持这样做,一个好的做法是使用常量 String 作为调用 equals(...) 的操作数。

关于java - 我遇到前导零问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55031500/

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