加斷點,一行一行的運行程序 直到 提示出現(xiàn)錯誤或者執(zhí)行沒效果的時候 就知道那行代碼出問題了
創(chuàng)新互聯(lián)公司是專業(yè)的荔浦網(wǎng)站建設公司,荔浦接單;提供網(wǎng)站設計制作、成都網(wǎng)站設計,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行荔浦網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
分析錯誤信息
首先去查看報的錯誤信息:java.lang.Thread.State: RUNNABLE
你這個應該是造成死鎖了
"resin-port-9001-265" daemon prio=10 tid=0x00007f033f1ba800 nid=0x2fc9 runnable [0x0000000048dbd000] 這個進程調用了線程,他持有這個鎖
Locked ownable synchronizers 這句話,是:當前線程是否處于同步塊內,值為none,說明當前線程沒有在同步塊內
錯誤在于紅框部分,cpPwd需要兩個String類型的參數(shù),所以需要用雙引號括起來
寫成cpPwd("123456","aaa") 就可以了。
import java.util.Scanner;
import java.util.InputMismatchException;
class A {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int year=0;
System.out.println("請輸入年份,應為整數(shù),在1900-2500之間");
while(true) {
try {
year = sc.nextInt();
if(year 1900 || year 2500) {
System.out.println("您輸入年份不在1900-2500之間,請重新請重新輸入");
continue;
}
System.out.println("您輸入的年份為:"+year);
System.out.println("請輸入年份,應為整數(shù),在1900-2500之間");
} catch (InputMismatchException e) {
System.out.println("您輸入年份的不是整數(shù),請重新請重新輸入");
sc.next();
}
}
}
}