大家好,有人可以纠正我的错误吗? 错误是在第二行我尝试放置一个转换整数
的void方法Integer g=Integer.valueOf(this.jTextField1.getText()).intValue();
Integer g=Integer.valueOf(this.jTextField1.getText()).intValue();
this.jTextField3.setText(String.valueOf(this.convert(g)));
大家好,有人可以纠正我的错误吗? 返回不起作用
public String convert(Integer number1) {
Integer [] tab = new Integer[4];
int i=tab.length-1;
do {
tab[i]=number1%10;
number1=number1/10;
i--;
} while(number1!=0);
for(int g=0;g<=tab.length-1;g++) {
if(tab[g]!=null){
String f= String.format("%4s",Integer.toBinaryString(tab[g])).replace(' ', '0');
return f;
}
}
}
答案 0 :(得分:2)
我的猜测,您的转换方法是打印出结果但不返回结果:
public void convert(int number) {
// do something to the number, creating theConvertedNumber
System.out.println(theConvertedNumber);
}
这对您来说毫无价值,因为您希望将转换后的数字放入JTextField,如果该方法什么都不返回,则无法执行此操作。而是让它返回转换后的数字:
public int convert(int number) {
// do something to the number, creating theConvertedNumber
return theConvertedNumber;
}
关于您的最新代码,您的return语句已隐藏在if
块中,编译器会看到这一点。那么,如果if条件为假,会发生什么?应该返回String的方法将没有可行的方式返回任何东西。你必须从if中取出return语句,并将它放在最后,或者给if块一个也有return语句的else块。