이번에 삼성 SDS 알고리즘 특강을 신청하고 

입과테스트를 보는과정에서 나의 부족함을 인지하고 처음부터 차근차근

기초를 다지려고 공부를 시작해본다! 자바를 주력언어로 웹 백엔드 개발자가 되기위해

자바에 깊이있게 들어가기 위한 첫걸음! 

입과테스트에서 주어진 txt파일을 읽어와서 처리하는 부분부터 약간 멍하게 있어버린

현실에 큰일남을 느껴서 파일 입출력 부분부터 시작해본다!!

 

package test;

import java.io.*;
import java.util.Scanner;

public class testt {
	public static void main(String[] args) {
		
		String[] name = new String[100];
		String[] number = new String[100];
		int n = 0;
		
		try {
			Scanner infile = new Scanner(new File("input.txt"));
			
			while(infile.hasNext()) { //파일 끝에 도달했는가?
				name[n] = infile.next();
				number[n] = infile.next();
				n++;
			}
			infile.close();
		} catch (FileNotFoundException e) {
			System.out.println("No file");
			System.exit(9);
		}
		
		for(int i =0; i<n; i++) {
			System.out.println(name[i] + " : "+ number[i]);
		}
	
}
}

출력결과

 

같은 디렉터리 안에 파일을 하나 만들고 

그파일을 읽어서 사람이름과 휴대폰번호를 각각 다른 변수에 하나씩 저장하는 코드이다!

 

 

package test;

import java.io.*;
import java.util.Scanner;

public class code20 {
	
	static String[] name = new String[100];
	static String[] number = new String[100];
	static int n = 0;
	
	public static void main(String[] args) {

		
		try {
			Scanner infile = new Scanner(new File("input.txt"));
			
			while(infile.hasNext()) { //파일 끝에 도달했는가?
				name[n] = infile.next();
				number[n] = infile.next();
				n++;
			}
			infile.close();
		} catch (FileNotFoundException e) {
			System.out.println("No file");
			System.exit(9);
		}
		
		bubbleSort();
		
		for(int i =0; i<n; i++) {
			System.out.println(name[i] + " : "+ number[i]);
		}
	
}
	static void bubbleSort(){
		for (int i = n-1; i>0; i--) {
			for(int j=0; j<i; j++) {
				if(name[j].compareTo(name[j+1]) >0) {
					String tmp = name[j];
					name[j] = name[j+1];
					name[j+1] = tmp;
					
					tmp = number[j];
					number[j] = number[j+1];
					number[j+1] = tmp;
				}
			}
		}
	}
}

이번에는 이름순으로 정렬을 한 뒤 보여주는 코드이다. 

변수들을 스태틱으로 정의하고 함수를 만들어서 보여준다!

출력결과

 

compareTo 의 동작방식에 의문이 생겨

첫알파벳만 비교하는지 궁금하여

James 와 Jamet을 넣어주고 비교해보니

처음알파벳 부터 비교를 시작하여 끝에까지 비교 후 우위를 걸러내는것을 확인할 수 있었다!

'알고리즘 with 자바 > 자료구조' 카테고리의 다른 글

클래스, 객체, 참조변수 3  (0) 2021.06.22
클래스, 객체, 참조변수 2  (0) 2021.06.21
클래스 , 객체, 참조변수 1  (0) 2021.06.21
문자열 다루기 2  (0) 2021.06.19
문자열 다루기  (0) 2021.06.19

+ Recent posts