我很难过,试图找出如何比较两个数字,以确定哪一个更大,哪一个更小,使用if / else语句。
就目前而言,每当我编译代码时,我都会收到此错误:
类NumberCompare中的方法setNums不能赋予应用的类型; required:没有参数,found:int,int;原因:实际和正式的参数列表长度不同
我很确定我的班级表现不佳。所以这就是我现在所拥有的。
ViewPager
上课:
NumberCompare
跑步者班:
import static java.lang.System.*;
public class NumberCompare
{
private int numberA, numberB;
public NumberCompare(int a, int b)
{
numberA=a;
numberB=b;
}
public void setNums ()
{
numberA = 45;
numberB = 45;
}
public int getLargest ()
{
if(numberA > numberB)
System.out.println(+numberA+" is greater than " +numberB);
return numberA;
}
public int getSmallest ()
{
if(numberA < numberB)
System.out.println(+numberB+" is less than " +numberA);
return numberB;
}
}
所以简而言之,我的问题是我无法将两个数字相互比较。感谢您的帮助。我也对此前不成熟的问题深表歉意。
答案 0 :(得分:2)
您按照定义设置数字的方法:
public void setNums ()
{
numberA = 45;
numberB = 45;
}
不允许用户指定新的。
更改签名以允许从用户设置新号码:
public void setNums (int a, int b)
{
numberA = a;
numberB = b;
}
答案 1 :(得分:0)
您应该按照以下方式更新您的NumberCompare类:
import static java.lang.System.*;
public class NumberCompare
{
// Rest of the code here
public void setNums (int a, int b){
numberA = a;
numberB = b;
}
public int getLargest (){
if(numberA > numberB){
System.out.println(+numberA+" is greater than " +numberB);
return numberA;
}
else{
System.out.println(+nuberB+" is greater than " +numberA);
return numberA;
}
}
public int getSmallest ()
{
if(numberA < numberB){
System.out.println(+numberA+" is less than " +numberB);
return numberA;
}
else{
System.out.println(+numberB+" is less than " +numberA);
return numberB;
}
}
}
你遇到的问题是由于setNums方法,而不是接受正确的参数。我也忍不住注意到其他方法的错误实现,所以我也提出了一个解决方案。 这是因为在您的原始代码中,您只检查A是小于还是大于B并且您返回A,因为它不在if语句的代码块中。为每个if添加一个else语句并处理B是你的结果的情况相当容易。
答案 2 :(得分:0)
每次删除setnums方法并创建新对象:
import static java.lang.System.*;
public class NumberCompare
{
private int numberA, numberB;
public NumberCompare(int a, int b)
{
numberA=a;
numberB=b;
}
public int getLargest ()
{
if(numberA > numberB)
System.out.println(+numberA+" is greater than " +numberB);
return numberA;
}
public int getSmallest ()
{
if(numberA < numberB)
System.out.println(+numberB+" is less than " +numberA);
return numberB;
}
}
像这样使用:
import static java.lang.System.*;
public class NumberCompareRunner
{
public static void main( String args[] )
{
NumberCompare test = new NumberCompare(5,6);
out.println(test);
out.println("largest == " + test.getLargest());
out.println("smallest == " + test.getSmallest()+"\n\n");
test = new NumberCompare(45,45);
out.println(test);
out.println("largest == " + test.getLargest());
out.println("smallest == " + test.getSmallest()+"\n\n");
test = new NumberCompare(-25,10324);
out.println(test);
out.println("largest == " + test.getLargest());
out.println("smallest == " + test.getSmallest()+"\n\n");
}
}