【发布时间】:2023-03-23 22:27:01
【问题描述】:
我正在处理的项目的任务是让用户能够输入邮政编码,并让程序在输出中提供条形码。例如,现在 95014 的条形码应该是“|:|:::|:|:||::::::||:|::|”。这一切都基于我拥有的表,该表表示每个数字应该是什么(在案例陈述中显示)。这是我为该部分编写的代码:
public class Zipcode{
private String zipcode = "";
private String barcode = "";
private int zipnum = 0;
public Zipcode(int zip_number){
zipnum = zip_number;
}
public void createBarcode(){
while (zipnum > 0){
switch (zipnum % 10)
{
case 0:
barcode = "||:::";
break;
case 1:
barcode = ":::||";
break;
case 2:
barcode = "::|:|";
break;
case 3:
barcode = "::||:";
break;
case 4:
barcode = ":|::|";
break;
case 5:
barcode = ":|:|:";
break;
case 6:
barcode = ":||::";
break;
case 7:
barcode = "|:::|";
break;
case 8:
barcode = "|::|:";
break;
case 9:
barcode = "|:|::";
break;
default:
break;
}
barcode += barcode;
zipnum = zipnum / 10;
}
}
public String getBarcode(){
return barcode;
}
}
但是,当我的测试程序类在用户输入邮政编码后调用该类时,没有任何结果。请帮忙!为什么什么都没有退回?我不知道我做错了什么。
【问题讨论】:
-
你永远不会打电话给
#createBarcode -
看来
barcode被声明为"",如果您从不调用createBarcode(),那么您将永远不会打印任何内容 -
另外,如果你每次调用
barcode = whatever,barcode中存储的字符数永远不会超过 5 个 -
@Rogue 我有一个调用 getBarcode() 的测试器类
-
@jaynepants 但是如果
#createBarcode永远不会被调用,那会有什么好处呢?#getBarcode只是返回字段值,不初始化任何东西