22.4.18 [HackerRank]Java End-of-file
7355 ワード
🌱 背景知識
EOF
End-of-file. データソースから読み込むデータがないことを示します.Javaでは、次の2つの方法で処理できます.
1)
scanner.hasNext()
:スキャナオブジェクトに入力されたか否かを判定するための関数.hasNextの後にInt、Double、Booleanなどのデータ型を追加すると、入力値がそのデータ型に対応する場合、trueまたはfalseが返されます.Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
System.out.println(sc.nextLine());
}
2)BufferedReader
:スキャナーと異なり、EOFの内蔵関数を処理していない.次の例のように処理します.BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = "";
while((input = br.readLine()) != null) {
// 이후 로직 전개.
}
Java While文
while (조건문) {
<수행할 문장1>;
<수행할 문장2>;
<수행할 문장3>;
...
}
条件文が表示されると、while文を実行する文を繰り返します.▼▼解説と分析
EOFに到達する前に、stdinから未知のn行入力が読み込まれます.
行ごとに行番号とスペースを出力し、入力した内容を出力します.
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
/* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
Scanner sc = new Scanner(System.in); // 새 스캐너 객체를 생성해 입력받는 값(문장)을 받는다.
int i = 1; // 첫번째 줄에서 1부터 넘버링이 시작된다.
while(sc.hasNext()){ // hasNext로 입력값이 들어오는지 여부를 판단해 들어오는 경우를 while문의 조건으로 준다.
System.out.println(i + " " + sc.nextLine()); //문장 앞의 숫자 + 공백 + 입력받은 문자열 전체를 리턴하기 위한 nextLine()함수를 프린트해준다.
i ++; // i는 하나씩 증가해 나간다.
}
}
}
👉 リファレンス
Reference
この問題について(22.4.18 [HackerRank]Java End-of-file), 我々は、より多くの情報をここで見つけました https://velog.io/@apolontes/22.4.18-HackerRankJava-End-of-fileテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol