exceptioninjava
㈠ java中的一個錯誤 Exception in thread "main" java.net.SocketException: Connection reset
該異常發生在客戶端進行new Socket(ip, port)操作時,該異常發生的原因是或者具有ip地址的機器不能找到(也就是說從當前機器不存在到指定ip路由),或者是該ip存在,但找不到指定的埠進行監聽。
出現該問題,首先檢查客戶端的ip和port是否寫錯了,如果正確則從客戶端ping一下伺服器看是否能ping通,如果能ping通(服務伺服器端把ping禁掉則需要另外的辦法),則看在伺服器端的監聽指定埠的程序是否啟動。
㈡ java程序出現Exception in thread "main"
Exception in thread "main" java.lang.
這句話表示異常出現在main這個線程裡面,錯誤是java.lang.。這個錯誤是你下標獲取超出范圍了,一般是例如你數組長度為2.但是你獲取數組[3].這時候就會報這個錯,建議你自己學會調試。。
希望能夠幫到你!
㈢ java編譯中出現了Exception in thread 「main" java.lang.UnsupportedClassVersionError
這個問題確實是由較高版本的JDK編譯的java class文件試圖在較低版本的JVM上運行產生的錯誤。
1、解決措施就是保證jvm(java命令)和jdk(javac命令)版本一致。如果是linux版本,則在命令行中分別輸入java -version和javac -version命令來查看版本是否一致。這里假設都是1.7版本。
2、如果都一致,但還是解決不了問題,那麼你肯定不是直接在命令行中用javac來編譯的,而是用類似於eclipse、netbeans這樣的編譯器來編譯的。因為很多編譯器都自帶javac,而不是採用操作系統中的編譯器。如果你的編譯器是eclipse的話,那麼需要在項目的屬性里設置jdk版本,方法是右擊項目-->properties-->java compiler --> Enable project specific settings -->將compiler compliance level設置為1.7,也就是與jvm一致的版本(在命令行中java -version所顯示的版本)。
綜上,如果你是用編譯器來編譯的話,請首先確保編譯器自帶的jdk版本是否和操作系統中的java版本一致。
見下圖:
㈣ java報錯Exception in thread "main" java.lang.Error:
你代碼中的語法錯誤在System.out.println處,改成如下就好了
System.out.println("大了!你還有"+(c-(j+1))+"次機會!");
System.out.println("小了!你還有"+(c-(j+1))+"次機會!");
說說原因,System.out.println("大了!你還有" + c - (j + 1) + "次機會!");
括弧里的肯定會先計算,括弧里 j和1都是數字所以 用"+"之後也是數字, 令 int x = (j+1)
於是println括弧里的內容等價於 "大了!你還有" + c - x + "次機會!"
這時從左往右順序計算,"大了!你還有" + c 字元串和數字用「+」連接,這時"+"作連接符,假設 c = 10,"大了!你還有" + c 的結果是 「大了!你還有10」
==>「大了!你還有10」- x + "次機會!"
字元串和數字用「-」連接,問題就在這里了,「-」在java中要麼用作表示負數,要麼用作四則運算中的減。所以這里提示 運算符 - 不能連接 String 和 int。
另外,Scanner 使用後都建議手動關閉
innn.close();
inn.close();
on.close();
㈤ 關於java初學的問題 Exception in thread "main" java.lang.NoClassDefFoundError: hello
朋友,你的程序代碼是沒問題的,環境變數也沒錯,請檢查一下你hello中的大小寫問題,還有o不要寫成0,還有一種可能是你也許忘記用javac命令編譯文件才會出錯,樓上的說的沒錯,java命令的執行對象是.class文件,javac命令的執行對象是.java文件
㈥ java程序出現Exception in thread "main"是怎麼回事
程序要求輸入姓名。分別輸出姓和名。
如輸入lee 。
輸出fist name: lee last name: import java.util.Scanner; public class Program7
{ public static void main(String[] args) { int i,j; System.out.print("請隨便輸入姓名:");
Scanner ... 程序要求輸入姓名。
分別輸出姓和名。如輸入lee 。
輸出fist name: lee last name:
import java.util.Scanner;
public class Program7 {public static void main(String[] args)
{int i,j;System.out.print("請隨便輸入姓名:");
Scanner in=new Scanner(System.in);
String name=in.nextLine();
int n=name.length();
char[] ch=name.toCharArray();
for(i=0;i<n;i++);
{char c=ch[i];if(c!=' ')
System.out.println(ch[i]);
else
j=i+1;
for(j=i+1;j<n;j++);
{System.out.println(ch[j]);}}}}
出錯提示:Exception in thread "main" java.lang.: 展開
㈦ Exception in thread "main" java.lang.NullPointerException
要解決這個問題需要復雜細致的流程,每個環節都很重要,避免出現不必要的差錯。
對該exception的具體分析如下:
1、當有異常出現時,如果程序員沒有將對其進行異常處理,那麼異常將會出現在控制台上,如下面的控制台信息:
Exception in thread "main" java.lang.NullPointerException
at Main.f(Main.java:11)
at Main.main(Main.java:7)
第一行給出了是異常的原因,NullPointerException,這相當於c和c++里的空指針,所以必須處理,否則程序運行時會出錯。
接下來的幾行給出了出錯的程序調用,指出了Main.java的11行出現java.lang.NullPointerException異常,但是具體的原因還得從調用的代碼上去查找,這里是Main.java的第7行傳遞了null導致的。