자주쓰는 String 함수를 나열해보았습니다.



equals();  문자열 비교 함수.

-   문자열 과 문자열이 일치하는지 비교한다,

-    == 비교 연산자가 있지만 String 은 참조형 변수라 비교하지못함.

(굳이 말하자면 String Class 이기때문에)

(뜻하지않는 결과가 나올수도있다.)



String str = "Yes";
 
 
 
// 잘못된 비교 문법 ( 이상황에서도 오류는 발생하지않는다. )
if(str =="Yes"){
    System.out.println("예스!");
}
 
 
// 올바른 문법
 
if(str.equals("Yes")){
    System.out.println("예스!");
}





length(); 문자열 길이

-   어디서많이 보셨죠? 배열의 길이를 알아낼때도 쓰였던 length 함수입니다.

-   문자열의 길이를 나타낼때도 씁니다

-   ※주의사항 - 문자열 공백 " " 도 문자열길이에 포함이 됩니다.



String str = "Hello World lolol";
 
 
System.out.println(str.length());
 
// 결과값 17
 
 
// H e l l o 공백 W  o  r  l  d  공백  l  o  l  o  l
// 1 2 3 4 5 6    7  8  9 10 11 12    13 14 15 16 17





split(); 특정문자(열) 로 잘라내서 결과값 배열형태로 리턴.



-    정말 많이 쓰입니다 연습해둡시다.

String[] names;
String name = "가나다,가나다1,가나다2,가나다3,가나다4,가나다5,가나다6";
names = name.split(",");
 
for(String n1 : names) {
    System.out.print(n1+"\t");
}
 
//결과값 
 
// 가나다    가나다1    가나다2    가나다3    가나다4    가나다5    가나다6


  

내일 조금 수정해서 추가하겠습니다... 



블로그 이미지

잡코드맨

댓글을 달아 주세요

// 붙혀넣기후 Ctrl + i 눌러주세요


// 결과
/*
정수를 입력하요.
123456789 << 입력
45 << 출력

1+2+3+4+5+6+7+8+9 = 45 

*/

// int > String 하려면 .Integer.toString(숫자);
// String 클래스 > length(); 문자열의 길이를 알수있다. "ABC" => 3
Scanner sc = new Scanner(System.in);
System.out.println("정수를 입력하요.");
int number = sc.nextInt();
String str = Integer.toString(number);
int[] nums = new int[str.length()];

for (int i = 0; i <nums.length; i++) {
nums[nums.length -i-1] = number % 10;
number = number / 10;
}
int sum = 0;
for (int i = 0; i < nums.length; i++) {
sum += nums[i];
}
System.out.println(sum);
sc.close();


블로그 이미지

잡코드맨

댓글을 달아 주세요

String str = "사과,배,포도,수박";
List<String> lt = new ArrayList<String>();

String arr[] = str.split(",");
for(int i = 0; i< arr.length; i++) {
System.out.println(arr[i]);
if(i % 2 == 0) {
lt.add(arr[i]);
}
}
for(int i=0; i<lt.size(); i++) {
System.out.println("리스트 array 에 담은 배열 들 "+lt.get(i));
}

블로그 이미지

잡코드맨

댓글을 달아 주세요

// 붙혀넣기후 Ctrl + i 눌러주세요

// text 파일 읽어보자.
// 이스케이프 문자 역슬래쉬 (\)
// 그냥 쓰면 에러가나는데 try ~ catch 문으로 처리해서 오류쪽 부분
// 명시해주어야 에러가 사라짐.
try {
File text = new File("C:\\FileLineTest\\testFile.txt");
FileReader textRead = new FileReader(text);
BufferedReader bfReader = new BufferedReader(textRead);
String line = "";
List<String> lineArray = new ArrayList<String>();
// null 이 아닐때까지 반복한다.
while ( (line = bfReader.readLine()) != null ) {
// System.out.println(line); 출력
// 리스트 배열에 line 한줄한줄씩 추가.
lineArray.add(line);
}
for(int i=0; i<lineArray.size(); i++) {
System.out.println(lineArray.get(i));
}
} catch (FileNotFoundException e) {
// 파일 없거나 이름 안맞으면 여기걸림.
e.printStackTrace();
System.out.println("파일이 존재하지않습니다. 경로를 확인해주세요");
} catch (IOException e) {
e.printStackTrace();
}

블로그 이미지

잡코드맨

댓글을 달아 주세요

// 동적배열 , 입력한 갯수 만큼 Array List 의 배열 크기를 늘려준다.
// 붙혀넣기후 Ctrl + i 눌러주세요

List<String> food = new ArrayList<String>();
Scanner input_text = new Scanner(System.in);
String text;
System.out.println("문자열을 입력해주세요 5개정도... (최대갯수 100개) 그만 입력하려면 n을 입력하세요");
// for 문 자체에 이름을 부여할수있다..
// 라벨이라고 말하는것 같다.
textArrayLoop :
for(int i=0; i<100; i++) {
text = input_text.nextLine();
if(text.equals("n")) {
break textArrayLoop;
}else{
food.add(text);
}
}
// List는 배열 크기는 length 가아니고 size로 하면 된다.
for(int i=0; i<food.size(); i++) {
System.out.printf("food[%d] = %s%n",i,food.get(i));
}

'웹 프로그래밍 > JAVA' 카테고리의 다른 글

JAVA - Split 테스트  (0) 2018.07.17
JAVA - Text 파일 한줄씩 읽기 테스트  (0) 2018.07.17
ArrayList 출력 테스트  (0) 2018.07.17
JAVA 업다운 게임 소스  (0) 2018.07.17
JAVA 야구프로그램 소스  (0) 2018.07.17
JAVA - 1. 로또 프로그램 정답본  (0) 2018.07.17
블로그 이미지

잡코드맨

댓글을 달아 주세요


// 붙혀넣기후 Ctrl + i 눌러주세요
// 업다운 게임 입니다!
System.out.println("=================== 업다운 게임! 횟수 20번안에 ! ===================");
System.out.println("범위는 1~100까지 입니다 숫자를 입력해주세요.");
int ans = 0;
int hint = 20;
int des = (int) (Math.random() * 100) + 1; //1~100 까지 랜덤 값
Scanner input = new Scanner(System.in);
//System.out.println(des);
while (true) {
ans = input.nextInt();
hint--;
System.out.println("남은횟수 "+hint+" 회");
if(ans < des) {
System.out.println("입력한 값은 " + ans + "입니다. 정답보다 값이 낮습니다!" );
}else if(ans > des) {
System.out.println("입력한 값은 " + ans + "입니다. 정답보다 값이 높습니다!" );
}else if(hint==0){
System.out.println("남은 기회를 모두 사용하셨습니다. 게임오버~");
break;
}else {
System.out.println("축하합니다. 정답입니다!" );
break;
}
}
input.close();

'웹 프로그래밍 > JAVA' 카테고리의 다른 글

JAVA - Text 파일 한줄씩 읽기 테스트  (0) 2018.07.17
ArrayList 출력 테스트  (0) 2018.07.17
JAVA 업다운 게임 소스  (0) 2018.07.17
JAVA 야구프로그램 소스  (0) 2018.07.17
JAVA - 1. 로또 프로그램 정답본  (0) 2018.07.17
JAVA - 간단한 업다운 게임  (0) 2018.07.13
블로그 이미지

잡코드맨

댓글을 달아 주세요

// 이클립스에 붙혀 넣기후 Ctrl + i 눌러 정리해주세요.
// 완전 같진 않습니다..

int[] comNum = new int[3];
int[] userNum = new int[3];
int[] panel = new int[9];




//패널초기화
for(int k =0; k < panel.length; k++) {
panel[k] = k+1;
}

// 컴퓨터 번호 랜덤출력
int randomNum;
for(int i = 0; i<comNum.length; i++) {
do {
randomNum = (int)(Math.random()*9)+1;
}while ( panel[randomNum-1] == -1 );
comNum[i]=randomNum;
panel[randomNum-1] = -1;

System.out.println("뽑힌번호 : "+randomNum);
}

// 유저 번호 입력 받기

Scanner sc = new Scanner(System.in);
boolean check = true;
int input = 0;
int temp;
boolean gameExit=true;
int gameCount = 0;
while(gameExit) {
do {
System.out.println("※※※※※ 세자리 정수를 입력하세요. ※※※※※");
System.out.println("※※※※※ 단, 각 자리수는 중복이 없어야 합니다. ※※※※※");
input = sc.nextInt();

if(input < 100 || input >999) {
System.out.println("★★★★★★★★잘못된 입력값입니다 . 세자리 정수를 입력하세요.★★★★★★★★");
check=true;
continue; //밑줄 실행안하고 do 로 다시 올라간다.
}
temp = input;
for (int i = 0; i < userNum.length; i++) {
userNum[userNum.length-i-1] = temp % 10;
temp = temp/10;
}

if(userNum[0]==userNum[1] || userNum[0]==userNum[2] || userNum[1]==userNum[2] ) {
System.out.println("중복된 번호가 있습니다. 다시 입력해주세요.");
continue;
}
check = false;

}while(check);

int strike = 0;
int ball = 0;

for (int i = 0; i < comNum.length; i++) {
for (int j = 0; j < userNum.length; j++) {
if(comNum[i] == userNum[j]) {
if(i==j) { // 숫자와 위치가 같으면 스트라이크
strike++;
}else { // 숫자만 같고 위치가 다르면.
ball++;
}
}
}
}

// 출력
gameCount++;
System.out.println("============================================================");
System.out.printf("input Number : %d, Result : %dS-%dB \n",input,strike,ball);
System.out.print("Strike : ");
for(int i=0; i<strike; i++) {
System.out.print("● ");
}

System.out.println();

System.out.print("Ball : ");
for(int i=0; i<ball; i++) {
System.out.print("○ ");
}
System.out.println();
System.out.println("============================================================");
if(strike==3) {
System.out.printf("축하합니다 게임종료입니다. 시도 횟수 : %d",gameCount);
gameExit=false;
}
}

'웹 프로그래밍 > JAVA' 카테고리의 다른 글

JAVA - Text 파일 한줄씩 읽기 테스트  (0) 2018.07.17
ArrayList 출력 테스트  (0) 2018.07.17
JAVA 업다운 게임 소스  (0) 2018.07.17
JAVA 야구프로그램 소스  (0) 2018.07.17
JAVA - 1. 로또 프로그램 정답본  (0) 2018.07.17
JAVA - 간단한 업다운 게임  (0) 2018.07.13
블로그 이미지

잡코드맨

댓글을 달아 주세요

// 붙혀 넣기후에 Ctrl + i 로 자동 코드 정리 해주세요 


int bonusNum = 0;
int count = 0;
boolean bonusCK = false;
int[] userLotto = new int[6];
int[] comLotto = new int[6];
Scanner sc = new Scanner(System.in);
int[] panel = new int[45];
ArrayList<Integer> eqNumbers = new ArrayList<Integer>();
ArrayList<Integer> eqbonusNums = new ArrayList<Integer>();
for(int i =0; i<panel.length; i++) {
panel[i] = i+1;
}
// 유저 넘버입력
int userNum;
for(int i = 0; i<userLotto.length; i++) {
do {
System.out.println("※※※※※로또 번호를 입력하세용. 번호는 1~45 번까지 입니다.※※※※※");
userNum = sc.nextInt();
if(userNum < 1 || userNum>45) {
System.out.println("▲▲▲▲▲1~45 범위의 로또 번호를 입력해주세요!▲▲▲▲▲\n");
}else if(panel[userNum-1] == -1){
System.out.println("▲▲▲▲▲중복된 로또 번호를 입력했습니다. 다시 입력해주세요 !▲▲▲▲▲\n");
}
}while ( (userNum < 1 || userNum>45) || panel[userNum-1] == -1 ); //userNum 에 50 입력하면 panel[50-1] 가 실행안됨 why? 논리 순서상
userLotto[i] = userNum;
panel[userNum-1] = -1;
}
// 유저 버블정렬
int temp;
for(int i =0; i<userLotto.length-1; i++) {
for(int j=0; j< userLotto.length-1-i; j++) {
if(userLotto[j]>userLotto[j+1] ) {
temp = userLotto[j];
userLotto[j]=userLotto[j+1];
userLotto[j+1] = temp;
}
}
}
// 패널 값 다시 초기화
for(int i =0; i<panel.length; i++) {
panel[i] = i+1;
}
int randomNum;
// 컴퓨터 번호 랜덤출력
for(int i = 0; i<comLotto.length+1; i++) {
do {
randomNum = (int)(Math.random()*8)+1;// 45
}while ( panel[randomNum-1] == -1 );
if(i == comLotto.length){
bonusNum = randomNum;
}else {
comLotto[i] = randomNum;
}
panel[randomNum-1] = -1;
}
// 버블 컴퓨터 정렬
for(int i =0; i<comLotto.length-1; i++) {
for(int j=0; j< comLotto.length-1-i; j++) {
if(comLotto[j]>comLotto[j+1] ) {
temp = comLotto[j];
comLotto[j]=comLotto[j+1];
comLotto[j+1] = temp;
}
}
}

//맞는거 번호 비교
for(int i=0; i < userLotto.length; i++) {
for(int j=0; j < userLotto.length; j++) {
if(comLotto[i] == userLotto[j]) {
count++;
break;
}
}
}
// 유저 넘버 출력
System.out.println("==================================================");
System.out.print("입력한 번호는 : ");
for(int i=0; i< userLotto.length; i++) {
System.out.print(userLotto[i]+" ");
}
System.out.println();
System.out.println("==================================================");
System.out.print("당첨번호 는 : ");
// 컴퓨터 번호출력
for(int i=0; i< comLotto.length; i++) {
System.out.print(comLotto[i]+" ");
}
System.out.println();
System.out.println("==================================================");
// 보너스 번호출력
System.out.println("보너스 번호 : " + bonusNum);
System.out.println("==================================================");
// 맞는거 번호출력.
for(int i=0; i < userLotto.length; i++) {
for(int j=0; j < userLotto.length; j++) {
if(comLotto[i] == userLotto[j]) {
eqNumbers.add(comLotto[i]);
}
}
if(userLotto[i] == bonusNum) {
eqbonusNums.add(bonusNum);
}
}
System.out.println("맞은번호는 ? ");
for(int i=0; i < eqNumbers.size(); i++) {
System.out.print(eqNumbers.get(i)+" ");
}
System.out.print("\t "+eqNumbers.size()+"개 맞았습니다.\n");
// 보너스 번호 맞춤
for(int i=0; i < eqbonusNums.size(); i++) {
System.out.print(eqbonusNums.get(i)+" ");
}
System.out.print("\t 보너스 번호 "+eqbonusNums.size()+"개 맞았습니다.\n");
for(int i=0; i < userLotto.length; i++) {
if(bonusNum == userLotto[i]) {
bonusCK = true;
break;
}
}
if(count == 6) {
System.out.println("축하합니다. 1등입니다. 사표 던지세요.");
}else if(count==5 && bonusCK == true) {
System.out.println("축하합니다. 2등입니다.");
}else if(count==5 && bonusCK == false) {
System.out.println("축하합니다. 3등입니다.");
}else if(count==4) {
System.out.println("축하합니다. 4등입니다.");
}else if(count==3) {
System.out.println("축하합니다. 5등입니다.");
}else {
System.out.println("꽝 다음기회에");
}

'웹 프로그래밍 > JAVA' 카테고리의 다른 글

JAVA - Text 파일 한줄씩 읽기 테스트  (0) 2018.07.17
ArrayList 출력 테스트  (0) 2018.07.17
JAVA 업다운 게임 소스  (0) 2018.07.17
JAVA 야구프로그램 소스  (0) 2018.07.17
JAVA - 1. 로또 프로그램 정답본  (0) 2018.07.17
JAVA - 간단한 업다운 게임  (0) 2018.07.13
블로그 이미지

잡코드맨

댓글을 달아 주세요

이클립스로 작업했습니다.


코드는 다른곳에서 작업하고 들여쓰기가 안되어있네요... ㅠㅠ


// 붙혀넣기후 Ctrl + i 눌러주세요
// 업다운 게임 입니다!
System.out.println("=================== 업다운 게임! 횟수 20번안에 ! ===================");
System.out.println("범위는 1~100까지 입니다 숫자를 입력해주세요.");
int ans = 0;
int hint = 20;
int des = (int) (Math.random() * 100) + 1; //1~100 까지 랜덤 값
Scanner input = new Scanner(System.in);
//System.out.println(des);
while (true) {
ans = input.nextInt();
hint--;
System.out.println("남은횟수 "+hint+" 회");
if(ans < des) {
System.out.println("입력한 값은 " + ans + "입니다. 정답보다 값이 낮습니다!" );
}else if(ans > des) {
System.out.println("입력한 값은 " + ans + "입니다. 정답보다 값이 높습니다!" );
}else if(hint==0){
System.out.println("남은 기회를 모두 사용하셨습니다. 게임오버~");
break;
}else {
System.out.println("축하합니다. 정답입니다!" );
break;
}
}
input.close();

'웹 프로그래밍 > JAVA' 카테고리의 다른 글

JAVA - Text 파일 한줄씩 읽기 테스트  (0) 2018.07.17
ArrayList 출력 테스트  (0) 2018.07.17
JAVA 업다운 게임 소스  (0) 2018.07.17
JAVA 야구프로그램 소스  (0) 2018.07.17
JAVA - 1. 로또 프로그램 정답본  (0) 2018.07.17
JAVA - 간단한 업다운 게임  (0) 2018.07.13
블로그 이미지

잡코드맨

댓글을 달아 주세요