은 어떻게 스캐너 스트림이 이름 및 번호를 모두 읽어 nextLine()
도 자바
Jane 354
Jill 546
Jenny 718
Penny 125
스캐너 방법에서 바로 정수를 읽어 얻을, 그래서 나는 것 그냥 구문 분석 할 수 있다고 가정하지만 이 이름을 건너 뛰고 숫자를 읽는 방법이 있는지 알고 싶었습니다. 바로 숫자가 String
으로 시작되면 즉시 실패하기 때문입니다.
은 어떻게 스캐너 스트림이 이름 및 번호를 모두 읽어 nextLine()
도 자바
Jane 354
Jill 546
Jenny 718
Penny 125
스캐너 방법에서 바로 정수를 읽어 얻을, 그래서 나는 것 그냥 구문 분석 할 수 있다고 가정하지만 이 이름을 건너 뛰고 숫자를 읽는 방법이 있는지 알고 싶었습니다. 바로 숫자가 String
으로 시작되면 즉시 실패하기 때문입니다.
어떨까요? next()
은 어떨까요? 그 결과를 무시한 다음 nextInt()
을 사용 하시겠습니까? 이것은 모든 회선이 질문에 제시된 형식 인 경우 필요한 것을 정확히 수행해야합니다.
당신은 예를 들어, 문자열을 건너 scanner.next을 (전화) 그것으로 아무것도 할 수
이// Scanner sc;
while(sc.hasNextLine()){
sc.next(); //Skip string
int number = sc.nextInt();
}
또한 scanner.nextLine()를 사용 후 등록으로 INT를 잡을 수 예 정규
String mydata = scanner.nextLine();
Pattern pattern = Pattern.compile([0-9]+);
Matcher matcher = pattern.matcher(mydata);
if (matcher.find()){
int num = Integer.parseInt(matcher.group(1));
}
지금은 제 범위를 벗어났습니다. 나는 아직 지식이없는 것들을 사용하면 꽤 의심스러워 보일 것이다. 무슨 일이 벌어지는 지 알 수있을 것 같아요.하지만 지금까지 Pattern과 Matcher 수업이나 사용법을 알지 못했습니다. – JediCreed94
형식이 일치하면 공백에 String 클래스 메서드 "split"을 사용하고 각 줄의 두 번째 결과 (int)를 가져올 수도 있습니다. – usddddd
그리고 파싱하고 int로 저장합니다.하지만 제가 말했던 것처럼, Scanner 클래스를 통해 일을하고 싶습니다.이 과제는이 과제에서 중점을 둡니다. reddit.com/r/javahelp에서 또 다른 유용한 팁을 얻었습니다. 필자가해야한다면 구분 기호를 변경할 수 있다고 했으므로 Pshemo와 MrAzzaman의 답변을 생각해 낼 것입니다. – JediCreed94
는 당신이 바로 Pshemo 말했듯이
Scanner read = new Scanner(new File("some file here"));
while(read.hasNext()){
if(read.next() instanceof Integer){
System.out.println(read.next());
}
}
같은 것은 같은 일을 할 수 있을까? 우리는이 파일이 어떻게 구성되어 있는지 이외에는 아무 것도 처리 할 수 없으므로이 방법이 효과가있을 것이라고 생각합니다. 앞으로 더 유연한 코드를 작성하는 방법을 배우게 될 것입니다. – JediCreed94