초코딩(chocoding)

[CodeUp / java] 1023 : [기초-입출력] 실수 1개 입력받아 부분별로 출력하기 본문

[Java] 알고리즘 문제풀이

[CodeUp / java] 1023 : [기초-입출력] 실수 1개 입력받아 부분별로 출력하기

sweetychocoding 2023. 8. 5. 23:10
728x90
import java.util.Scanner;

public class Main {
   public static void main(String[] args) {
      Scanner scanner = new Scanner(System.in);
      float f = scanner.nextFloat();
      
      int numInt = (int)f;
      int numFloat = (int)((f - numInt) * 1000000);
      
      System.out.println(numInt);
      System.out.println(numFloat);
   }
}
import java.util.Scanner;

public class Main {
   public static void main(String[] args) {
      Scanner scanner = new Scanner(System.in);
      float f = scanner.nextFloat();
      
      String str = Float.toString(f);
      //System.out.println(str.getClass().getName());
      
      String[] strSplit = str.split("\\.");
      String numInt = strSplit[0];
      String numFloat = strSplit[1];
      
      System.out.println(numInt);
      System.out.println(numFloat);
   }
}

 

둘 다... 정답이 아니란다... ㅠ

근데 이클립스에서 실행했을 때는 문제가 없다.....

뭐가 문제일까....?? (ㅜㅜ)

 

import java.util.Scanner;

public class Main {
   public static void main(String[] args) {
      Scanner scanner = new Scanner(System.in);
      String str = scanner.nextLine();
      
      String[] strSplit = str.split("\\.");
      
      System.out.println(strSplit[0]);
      System.out.println(strSplit[1]);
   
   }
}

문제에서 실수로 받으라 해서 실수로 받고

문자열로 변환했는데.. 찾아보니 모두 문자열로 받았다.



근데 위에... 코드는... 왜 실행이 안될까......?

더 분석해봐야징...!

 

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {
   public static void main(String[] args) throws IOException {
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
      
      String str = br.readLine();
      
      String[] strArr = str.split("\\.");
      
      bw.write(strArr[0] + "\n");
      //bw.newLine();
      bw.write(strArr[1]);
      
      bw.flush();
      bw.close();
   }
}

마지막으로 BufferedReader와 BufferedWriter을 이용해서 풀어봤다.

BufferWriter에 write 메서드는 개행을 포함하지 않아 newLine()을 쓰던가 "\n" 개행문자를 추가시켜주어야 한다.

728x90