java里if 怎么比较两个字符串
importjava.util.*;//导入java.util里所有组件!publicclassif的使用{publicstaticvoidmain(String[]ar...
import java.util.*;//导入java.util里所有组件!
public class if的使用{
public static void main(String[] args){
Scanner 用户数据=new Scanner(System.in);//声明一个Scanner扫描仪用户数据。
System.out.println("请输入密码");
int 密码=用户数据.nextInt();//声明一个变量来储存用户输入的数据.
if(密码==724241002){
System.out.println("登录成功");//关系运算返回为真,输出文本提示
}
/*if 关系运算结果是否为真,
同易语言 如果真() 命令,
根据提供的逻辑参数的值,
来决定是否改变程序的执行位置,
如果提供的逻辑参数值为真,程序继续顺序向下执行,
否则跳转到大括号以外的命令处去执行。*/
}
}
问题:
我想把
int 密码=用户数据.nextInt();//声明一个变量来储存用户输入的数据.
if(密码==724241002)
换成 String 密码=用户数据.next()
if(密码=="724241002")
结果他根本比较不了 直接就跳过了,是什么愿意?
只有9分了 不好意思 展开
public class if的使用{
public static void main(String[] args){
Scanner 用户数据=new Scanner(System.in);//声明一个Scanner扫描仪用户数据。
System.out.println("请输入密码");
int 密码=用户数据.nextInt();//声明一个变量来储存用户输入的数据.
if(密码==724241002){
System.out.println("登录成功");//关系运算返回为真,输出文本提示
}
/*if 关系运算结果是否为真,
同易语言 如果真() 命令,
根据提供的逻辑参数的值,
来决定是否改变程序的执行位置,
如果提供的逻辑参数值为真,程序继续顺序向下执行,
否则跳转到大括号以外的命令处去执行。*/
}
}
问题:
我想把
int 密码=用户数据.nextInt();//声明一个变量来储存用户输入的数据.
if(密码==724241002)
换成 String 密码=用户数据.next()
if(密码=="724241002")
结果他根本比较不了 直接就跳过了,是什么愿意?
只有9分了 不好意思 展开
展开全部
使用 String.compareTo 方法:
compareTo() 的返回值是int, 它是先比较对应字符的大小(ASCII码顺序)
1、如果字符串相等返回值0
2、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)(负值前字符串的值小于后字符串,正值前字符串大于后字符串)
3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度.
例:
String s1 = "abc";
String s2 = "abcd";
String s3 = "abcdfg";
String s4 = "1bcdfg";
String s5 = "cdfg";
System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1)
System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3)
System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48)
System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)
compareTo() 的返回值是int, 它是先比较对应字符的大小(ASCII码顺序)
1、如果字符串相等返回值0
2、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)(负值前字符串的值小于后字符串,正值前字符串大于后字符串)
3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度.
例:
String s1 = "abc";
String s2 = "abcd";
String s3 = "abcdfg";
String s4 = "1bcdfg";
String s5 = "cdfg";
System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1)
System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3)
System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48)
System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询