纯新手求助!!
import java.util.*;
public class Tem{
public static void main(String[]args){
Scanner in=new Scanner(System.in);
System.out.println("请输入a的值:");
int a=in.nextInt();
System.out.println("请输入b的值:");
int b=in.nextInt();
if(a>b==false){
int a;
int b;
int t=a;
a=b;
b=t;
System.out.println("a的值为:"+a);
System.out.println("b的值为:"+b);
}
System.out.println("a的值肯定大于b的值");
}
我这if语句里面的数字交换,怎么交换不了的?求助!
------解决方案--------------------if(a>b==false){
a>b本身返回的就是true和false,
为什么还要加上==false?
------解决方案--------------------变量可见性问题。
你这里
if(a>b==false)
{
int a;
int b;
int t=a;
a=b;
b=t;
}
你在if{}中又定义了a,b,那么这个a,b,就是你刚刚定义的a,b,而不是你上面Scanner扫描进入的a,b,了。也就是说这部分代码 没有改变你读取进来的a,b,的值