分析錯誤信息
站在用戶的角度思考問題,與客戶深入溝通,找到烏海網(wǎng)站設(shè)計與烏海網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋烏海地區(qū)。
首先去查看報的錯誤信息:java.lang.Thread.State: RUNNABLE
你這個應(yīng)該是造成死鎖了
"resin-port-9001-265" daemon prio=10 tid=0x00007f033f1ba800 nid=0x2fc9 runnable [0x0000000048dbd000] 這個進(jìn)程調(diào)用了線程,他持有這個鎖
Locked ownable synchronizers 這句話,是:當(dāng)前線程是否處于同步塊內(nèi),值為none,說明當(dāng)前線程沒有在同步塊內(nèi)
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("請輸入年份,應(yīng)為整數(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("請輸入年份,應(yīng)為整數(shù),在1900-2500之間");
} catch (InputMismatchException e) {
System.out.println("您輸入年份的不是整數(shù),請重新請重新輸入");
sc.next();
}
}
}
}
java中如果定義了有參數(shù)的構(gòu)造方法后,就沒有默認(rèn)的無參構(gòu)造方法了。
所以問題代碼中main方法里創(chuàng)建Person對象時需要調(diào)用有參的構(gòu)造方法,或者Person類中把無參的構(gòu)造方法定義出來。
如果有幫助到你,請點擊采納。
用MyEclipse或Eclipse的話可以在出錯的代碼出打斷點,然后用調(diào)試模式啟動就可以調(diào)試代碼了。如圖: