이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
| Date |
2008/09/10 22:10:06 |
| Name |
EZrock |
| File #1 |
실행오류.jpg (0 Byte), Download : 6 |
| Subject |
자바를 cmd상에서 실행시 문제가... |

네이버에서는 NoClassDefFoundError가 classpath가 제대로 정해지지 않아서 그런다 뭐해서 그런다
이런저런 이유가 더 있더라구요.
하라는데로 다 해봤는데 결과는 여전히 이 모양입니다.
컴파일시에는 이상이 없었으며 이클립스에서도 생성자의 값을 바탕으로 한 결과까지 이상이 없었습니다.
이 프로그램은 인자의 값을 받음으로써 제대로 쓸 수 있기 때문에 cmd창으로 돌리지 못하면 의미가 없습니다..ㅠㅠ
어떻게 해결해야 할까요.
굳이 cmd상의 문제가 아니더라도 이클립스로 커맨드라인 인자값을 넣게해서 결과 뽑아내게만 하면 되겠습니다.
물론...cmd상으로 뽑아내는게 제일 좋지만 이것저것 따질때가 아니니 부탁 드리겠습니다.
package report1_1;
class Constant {
public static final int MaxLen = 20;
public static final int MaxVal = 2147483647;
}
class Prime {
private int Number;
private int MaxPrimeNum;
public Prime() {
Number = 0;
MaxPrimeNum = 0;
}
public void SetNum(int Num) {Number = Num;}
public int GetNum() {return Number;}
public void MaxPrime() {
int i;
for(i = 2; i<=Number; i++) {
if(IsPrime(i)) break;
}
MaxPrimeNum = i;
System.out.println("정수" + Number + "까지의 모든 소수중에서 가장 큰 소수는 " + MaxPrimeNum + "이다.");
}
public boolean IsPrime(int i){
for(int j = 2; j*j >= i; j++){
if(i%j == 0) return false;
}
return true;
}
public boolean isInteger(String nChar){
try{
Integer.parseInt(nChar);
return true;
}
catch(NumberFormatException e){
return false;
}
}
}
public class PrimeMain {
public static void main(String[] args) {
Prime p = new Prime();
int Num = 0;
//String nChar = new String(args[1]);
try{
if(!p.isInteger(args[0])) {
System.out.println(" 정수로 입력하셔야 합니다.");
System.exit(0);
}
Num = Integer.parseInt(args[0]);
}
catch (ArrayIndexOutOfBoundsException e){
}
if(Num > Constant.MaxVal || Num < 2){
System.out.println("값이 2보다 작거나" + Constant.MaxVal + "보다 큰 값은 넣을수 없습니다.");
System.exit(0);
}
p.SetNum(Num);
p.MaxPrime();
}
}
|
통합규정 1.3 이용안내 인용
"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
|