νμΌ μ μΆλ ₯
νμΌ μ μΆλ ₯μ λ°μ΄ν°λ₯Ό νμΌμ μ½κ³ μ°λ κ³Όμ μ μλ―Έν©λλ€.
μλ°λ νμΌ μ μΆλ ₯μ μν΄ λ€μν κΈ°λ₯μ μ 곡νλ©° ,
μ΄λ€ ν΄λμ€λ₯Ό ν΅ν΄ νμΌκ³Όμ μνΈμμ©μ μ²λ¦¬ν μ μμ΅λλ€.
νμΌ μ μΆλ ₯ μμ
UpDown κ²μμ λ§λ€μ΄ λ©λͺ¨μ₯μ μ νμλ μ λ΅μ λ§νλ νλ‘κ·Έλ¨μ μμ±ν΄ λ΄ μλ€.
λ¨Όμ μ 체 μ½λμ λλ€.
package class01;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader; // ioλ μ
μΆλ ₯μ΄λ€.
import java.io.IOException;
import java.util.Scanner;
// [νμΌ μ
μΆλ ₯]
public class FileIOTask01 {
public static void main(String[] args) {
// μ€μ΅κ²½λ‘
// /Users/gimseungju/Library/key_documents/2024government-funded class_coding_ksj/Java_jun&jul_ksj/workspace/day20/src/class01/
String filePath = "/Users/gimseungju/Library/key_documents/2024government-funded class_coding_ksj/Java_jun&jul_ksj/workspace/day20/src/class01/";
// β² μ€μ΅κ²½λ‘
String fileName = "test.txt"; // νμ₯μλ₯Ό λ°λμ ν¨κ» μμ±
FileReader fileReader;
String line = "";
try {
fileReader = new FileReader(filePath + fileName);
BufferedReader reader = new BufferedReader(fileReader);
// while ( (line=reader.readLine()) != null ) {
// System.out.println("line : "+line);
// }
line = reader.readLine();
// μ½λκ° ν¨ν΄ν(ν
νλ¦Ών)λμλ€.
}
catch (FileNotFoundException e) {
System.out.println("νμΌλͺ
μ΄ μ¬λ°λ₯΄μ§μμ΅λλ€!");
}
catch (IOException e) {
System.out.println("μ
μΆλ ₯ κ³Όμ μ€μ μλ¬κ° λ°μνμ΅λλ€!");
}
// μλ£νλ³ν(νμ
μΊμ€ν
)μ λ΄λΉνλ ν΄λμ€
// Wrapper ν΄λμ€
int ansNum = Integer.parseInt(line);
int startNum = 1;
int endNum = 50;
Scanner sc = new Scanner(System.in);
while(true) {
System.out.print(startNum+" ~ "+endNum+" μ€μμ μ μ μ
λ ₯ >> ");
int num=sc.nextInt();
if(ansNum < num) {
System.out.println("DOWN!");
endNum=num-1;
}
else if(ansNum > num) {
System.out.println("UP!");
startNum=num+1;
}
else {
break;
}
}
System.out.println("μ λ΅μ
λλ€! :D");
}
}
μ΄μ μ½λλ₯Ό νλ νλ μ΄ν΄λ³΄κ² μ΅λλ€.
1. λ¨Όμ λ©λͺ¨μ₯μ΄ μλ κ²½λ‘λ₯Ό filePathμ μ μ₯ν©λλ€.
String filePath = "/Users/gimseungju/Library/key_documents/2024government-funded class_coding_ksj/Java_jun&jul_ksj/workspace/day20/src/class01/";
// β² μ€μ΅κ²½λ‘
2. λ©λͺ¨μ₯μ μ΄λ¦μ fileNameμ μ μ₯ν©λλ€.
String fileName = "test.txt"; // νμ₯μλ₯Ό λ°λμ ν¨κ» μμ±
3. FileReader ν΄λμ€λ₯Ό μ¬μ©ν΄ ν μ€νΈ νμΌμ μ½μ μ μλλ‘ ν©λλ€.
FileReader fileReader;
String line = "";
4. try / catch λ₯Ό μ¬μ©νμ¬ μμΈ λ°μ μ μ²λ¦¬ν μ½λλ₯Ό μ λ ₯νκ³ fileReaderμ μκΉ μ λ ₯ν΄ λμ κ²½λ‘λ₯Ό μ°κ²°ν©λλ€.
try {
fileReader = new FileReader(filePath + fileName);
BufferedReader reader = new BufferedReader(fileReader);
// while ( (line=reader.readLine()) != null ) {
// System.out.println("line : "+line);
// }
line = reader.readLine();
// μ½λκ° ν¨ν΄ν(ν
νλ¦Ών)λμλ€.
}
catch (FileNotFoundException e) {
System.out.println("νμΌλͺ
μ΄ μ¬λ°λ₯΄μ§μμ΅λλ€!");
}
catch (IOException e) {
System.out.println("μ
μΆλ ₯ κ³Όμ μ€μ μλ¬κ° λ°μνμ΅λλ€!");
}
5. UpDown κ²μμ ꡬννλλ° μ¬κΈ°μ μμΈν λ³Ό μ μ κ°μ₯ 첫λ²μ§Έ μ€
int ansNum = Integer.parseInt(line) μ λλ€.
μ΄ μ½λλ₯Ό 보면 lineμ΄ μλλ° μ¬κΈ°μ lineμ reader.readLineμΌλ‘ μ°κ²°λμ΄ μμΌλ©°
λ©λͺ¨μ₯κ³Ό μ°κ²°λμ΄ μμμ μλ―Ένκ³ λ©λͺ¨μ₯μ μ νμλ κ°μ μ λ΅μΌλ‘ νλ κ²μμ΄ κ΅¬νμ΄ λ κ²μ λλ€.
// μλ£νλ³ν(νμ
μΊμ€ν
)μ λ΄λΉνλ ν΄λμ€
// Wrapper ν΄λμ€
int ansNum = Integer.parseInt(line);
int startNum = 1;
int endNum = 50;
Scanner sc = new Scanner(System.in);
while(true) {
System.out.print(startNum+" ~ "+endNum+" μ€μμ μ μ μ
λ ₯ >> ");
int num=sc.nextInt();
if(ansNum < num) {
System.out.println("DOWN!");
endNum=num-1;
}
else if(ansNum > num) {
System.out.println("UP!");
startNum=num+1;
}
else {
break;
}
}
System.out.println("μ λ΅μ
λλ€! :D");
}
}
νλ‘κ·Έλ¨ μ€ν κ²°κ³Ό
1. κ²½λ‘λ‘ μ°κ²°λ λ©λͺ¨μ₯ νμΌ(test.txt)μ μ«μλ₯Ό μ λ ₯ν΄μ€λλ€. (μ λ 24λ₯Ό μ λ ₯ν΄ μ£Όμμ΅λλ€.)
2. κ·Έ λ€μ μμ μ½λλ₯Ό μ€νν©λλ€.
3. κ²μμ μ§ννμ¬ μ λ΅μ λ§νλλ€. (λ©λͺ¨μ₯μ μ μ 24λΌλ κ°μ μ λ ₯νλ μ λ΅μΌλ‘ μ²λ¦¬κ° λ©λλ€.)
λ§λ¬΄λ¦¬
μ΄λ κ² νμΌ μ μΆλ ₯μ μ¬μ©νμ¬ λ©λͺ¨μ₯μ κ°μ λ°μ΄ν°λ‘ μ΄μ©ν΄ 보μμ΅λλ€.
μλ°μ νμΌ μ μΆλ ₯μ λ€μν μν©μμ μ μ©νκ² μ¬μ©λλ©°,
μ΄λ₯Ό ν΅ν΄ λ°μ΄ν°μ μμμ±μ ν보ν μ μμ΅λλ€.
μ¬κΈ°μ μμμ±μ΄λ λ°μ΄ν°κ° μ μ₯맀체μ μꡬμ μΌλ‘ 보쑴λλ νΉμ±μ μλ―Έν©λλ€.
λ΄μ£Όμ λΆλ€ λͺ¨λ κ°μ¬ν©λλ€.