'Programming'에 해당되는 글 59건
- 2011.05.23 오라클 설치ppt
- 2011.05.09 자바/Java] 문자열을, 숫자(정수/실수)로 변환; String to Number (int float double)
- 2011.05.09 자바,Java] 숫자를 문자열로 변환, 정수/실수 문자로; Number to String
- 2011.04.08 파싱이란?
- 2011.01.14 [자바에러]Exception in thread 'main' java.lang.NoClassDefFoundError [출처] [자바에러]Exception in thread 'main' java.lang.NoClassDefFoundError
- 2011.01.14 Eclipse 환경설정 관련 에러 - The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files [출처] Eclipse 환경설정 관련 에러 - The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files 1
- 2010.01.08 자바 설치
- 2009.09.23 자바와 mysql 연동시 한글 깨짐 현상 해결
- 2008.12.23 프로그래밍 갤러리
숫자 123에 1을 더하면 124 가 되지만, 문자열 "123"에 1을 더하면 "1231"이 되어 버립니다.
따라서 문자열로 된 숫자가 숫자 구실을 하도록 하려면, 그 문자열을 숫자로 변환해 주어야 합니다.
문자로 된 숫자를, 진짜 숫자로 변환 예제
소스 파일명: Foo.java
public static void main(String args[]) {
String s = "1000"; // 문자열 정의
int i = Integer.parseInt(s) + 1; // 32비트 정수로 그리고 1을 더하기
System.out.println(i); // 출력: 1001
long L = Long.parseLong(s) + 1; // 64비트 정수로 그리고 1을 더하기
System.out.println(L); // 출력: 1001
float f = Float.parseFloat(s) + 1.0F; // 32비트 실수로 그리고 1을 더하기
System.out.println(f); // 출력: 1001.0
double d = Double.parseDouble(s) + 1.0; // 64비트 실수로 그리고 1을 더하기
System.out.println(d); // 출력: 1001.0
}
}
전화 번호나 주민등록번호 등도 실은 숫자가 아니라 문자열입니다. 왜냐하면 전화번호에 1을 더하거나 하는 사칙연산을 해 봐도 아무 의미가 없기 때문입니다. 물론 더해지지도 않겠지요.
자바에서는 기본적으로, 플러스(+) 기호로 숫자에 어떤 문자열을 합쳐주면 그 숫자가 문자열화됩니다.
toString() 메소드를 사용하여 변환하는 더 명확한 방법도 있습니다.
숫자(int/double/long/float)를 문자열로 변환 예제
소스 파일명: Foo.java
public static void main(String args[]) {
String s;
// 숫자를, 다른 문자열과 합쳐서, 문자열로 변환
int i = 123;
s = i + ""; // 숫자와 문자열을 합치면, 모두 문자열이 됨
System.out.println(s); // 문자열화된 "123"이 출력
double d = 435.45;
s = d + "123"; // 435.45 와 123 이 문자열화되어, 서로 합쳐져 버림
System.out.println(s); // 문자열화된 "435.45123"이 출력
// 이번에는 toString() 메소드를 사용하여
i = 666;
s = Integer.toString(i);
System.out.println(s); // 문자열화된 "666"이 출력
d = 0.111;
s = Double.toString(d);
System.out.println(s); // 문자열화된 "0.111"이 출력
long L = 4324647480L;
s = Long.toString(L);
System.out.println(s); // 문자열화된 "4324647480"이 출력
float f = 54.4F;
s = Float.toString(f);
System.out.println(s); // 문자열화된 "54.4"가 출력
}
}
도스창이나, eclipse 등등 자바 실행시 이런 문구가 떠서
당황해본 경험이 있다. OTL...
이런 메세지가 뜨는 것에는 2가지 이유가 있다.
자바실행시, 파일명을 잘못 입력했던가
아니면, classpath 를 잘못 지정했기 때문이다.
1. 자바실행시 잘못된 파일명 입력
예를 들어, 도스창에서 자바파일을 컴파일하고, (javac Hello.java)
실행을 시킬 때, (파일명 : Hello.java , Hello.class)
java Hello.java <- 이렇게 하면 당연히 위에 메시지가 뜬다 ㅡㅡ;;...
java hello.java <- 이렇게해도 당연히 뜬다 ㅡㅡ....
java Hello <- 이렇게 해야한다!! ^^
java 실행시 대소문자를 구분하고, 컴파일된 것을 실행시키는 것이기 때문에,
*.java를 실행시키려는 무모한 도전은 자제를 부탁한다.
<여기서 잠깐!! 자바프로그램 실행의 기본적인 개념>
※ 컴파일(compile)이 뭐죠?
- 컴파일(compile)이란 사람이 알아 볼수있게 만든 프로그램소스를 기계가 알아 볼수있게
만들어주는 작업입니다. 사람은 십진수를 쓰고, 영어를 사용하지만, 컴퓨터는 2진수에
영어도 쓸줄 모르잖아요. ^^ 그래서, 컴퓨터가 쉽게 이해할수 있게 컴파일을 하는 것입니다.
결국 프로그램을 실행시켜주는 것은 사람이 아니라, 컴퓨터니까요.
※ java파일과 class파일의 차이가 뭐죠?
- 자바를 실행시킬 때, 컴파일을 합니다. 그러면, *.java파일이 컴파일되어서 *.class파일이
생겨납니다. 컴퓨터가 처리할수 있는 파일은 *.class파일이기 때문에 자바에서 실행시
명령어를 [java 파일명] 으로 쓰는 것입니다. 확장자 java를 붙이면 안되는 거죠. ^^
결국, java파일은 사람이 만들고 쓰는 것이고, class파일은 컴퓨터가 만들고 처리하는
것이죠.
Eclipse 환경설정 관련 에러
[에러 내용]
The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files
[해결 방법]
Navigator나 Project Explorer에서 Properties-Java Build Path-Libraries 에 JRE System Library 추가.