java中 int 类型的方法有返回值 能进行算术运算吗

来源:百度知道 编辑:UC知道 时间:2024/07/02 10:46:12
public int ShowFist(){
System.out.print("请出拳:1.剪刀 2.石头 3.布
(输入相应数字):");
int on = input.nextInt();

switch (on){
case 1:
System.out.println("\n你出拳:剪刀");
break;
case 2:
System.out.println("\n你出拳:石头");
break;
case 3:
System.out.println("\n你出拳:布");
break;
}
return (int)on;
}

在其他类中 用此方法和另一个相同的方法在if条件判断中进行相减
为什么还会输出打印语句啊?
比如

if (user.ShowFist() - computer.ComShoeFist() == -1){
}
它会先执行2个方法的打印语句,再才用返回值判断。
有什么办法让它不执行打印语句?

当然会输出打印语句,只要ShowFist()函数执行就会有打印输出

有返回值的函数之间可以进行算数运算,而且该函数会被“执行”一次以获取返回值。

可以删除ShowFist()函数中与打印相关的语句,将on的值赋予一个静态常量上,将来想要打印时,只要调用静态常量即可。

int on = input.nextInt();
这句话我不懂,是等待控制台输入么,我猜的。没这样写过,我都是用流写的。
java虚拟机按顺序执行吧,等待你的输入,你是不是没输入啊?

不先调方法怎么计算出值来啊

Scanner input = new Scanner(System.in);