**
/*
* 原因:
*/
String num = "123 ";
int d = Integer.parseInt(num);
System.out.println(d);
/*
* 原因:
*/
num = "123.456";
d = Integer.parseInt(num);
System.out.println(num);
/*
* 原因:
*/
// num = "123";错误原因:使用 == 比较两个字符串的值,而不是使用 equals 方法。
修改如下:
public class Test03 {
public static void main(String[] args) {
String path1 = "/myweb/reg";//处理注册的路径
String path2 = "/myweb/login";//处理登录的路径
/*
* 程序启动后,输入上述两个地址后检查下面输出.
* 分析并解决存在的问题,并写出错误原因:
*
*
*/
Scanner scanner = new Scanner(System.in);
System.out.println("请输入地址:");
String path = scanner.nextLine();
if(path!=null) {
if(path.equals(path1)) {
System.out.println("处理注册!");
}else if(path.equals(path2)) {
System.out.println("处理登录!");
}else {
System.out.println("输入地址有误!");
}
}
}
}
String num = "123 "; 123后面有空格
parseInt方法能将只含数字的字符串转换成数字
但要求传入的实参必须是纯数字形式的字符串,如"123","123456"是可以的,但"12 "是不行的,因为有空格存在;"12h"也是不行的,因为有字母存在