Exception in thread "main"java.lang.ArrayIndexOutOfBoundsException: 0 at com.example.main...
package com.example.demo.RUNOOB.NetWorking;
import java.net.*;
import java.io.*;
public class GreetingServer extends Thread {
private ServerSocket serverSocket;
public GreetingServer(int port) throws IOException {
serverSocket = new ServerSocket(port);
serverSocket.setSoTimeout(10000);
}
public void run() {
while(true) {
try {
System.out.println(" , :" + serverSocket.getLocalPort() + "...");
Socket server = serverSocket.accept();
System.out.println(" :" + server.getRemoteSocketAddress());
DataInputStream in = new DataInputStream(server.getInputStream());
System.out.println(in.readUTF());
DataOutputStream out = new DataOutputStream(server.getOutputStream());
out.writeUTF(" :" + server.getLocalSocketAddress() + "
Goodbye!");
server.close();
}
catch (SocketTimeoutException s) {
System.out.println("Socket timed out!");
break;
}
catch (IOException e) {
e.printStackTrace();
break;
}
}
}
public static void main(String[] args) {
int port = Integer.parseInt(args[0]);
try {
Thread t = new GreetingServer(port);
t.run();
}
catch (IOException e) {
e.printStackTrace();
}
}
}
오류 메시지: Exception in thread "main"java.lang.ArrayIndexOutOfBoundsException: 0 at com.example.demo.RUNOOB.NetWorking.GreetingServer.main(GreetingServer.java:38)
자세한 검사 결과 int port = Integer.parseInt(args[0]);,여기에args[0]가 호출되었기 때문에 프로그램이 실행될 때 매개 변수 입력을 제공해야 합니다. 그렇지 않으면 실행 오류가 발생합니다.
해결 방법:
1. IntelliJ IDEA: Edit Configurations 선택...,configuration 옵션 카드에서 Program arguments를 찾아서 값을 입력하십시오. 예를 들어 6066, OK 단추를 누르면 다시 실행하면 오류가 발생하지 않습니다.
2. Eclipse: 클래스를 마우스 오른쪽 버튼으로 클릭하고 Run as -> Run configurations 를 선택한 다음 Arguments 섹션을 선택하고 매개 변수를 입력합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
PHPStorm 파일의 자동 저장 기능을 끄고 동작을 가볍게 만듭니다.PHPStorm (IntelliJ)의 파일 자동 저장 기능은 데이터 손실을 미연에 방지하기 때문에 편리하지만 Samba 등의 원격 서버의 디렉토리를 마운트하거나 Grunt Watch에서 파일 저장을 트리거로 빌드 실...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.