텍스트 파일을 한 줄씩 스캔하여 각 줄마다 특정 정수를 추가하는 프로그램을 작성하려고합니다.루프 및 if 문을 스캐너 클래스로 사용
01-Jan-2012 ED521D 4 100 30 1499 M N Brewer
02-Jan-2012 ED925H 5 488 30 1499 A B Saini
02-Jan-2012 JF560D 3 275 40 949 M S Cooper
02-Jan-2012 ZK201U 1 359 40 474 R S Chadwick
내 목표는 끝에서 두 번째 열에서 문자 하나에 "M"의 경우, 또는 세 번째 열 (4,5,3)에 번호를 추가하는 것입니다 : 문제의 텍스트 파일의 형식은 다음과 "에이". 따라서 프로그램은 위의 텍스트 파일을 사용하여 12를 출력해야합니다. 여기에 내가 지금까지 가지고있는 것이있다. 내 생각
public static void main(String[] args) throws IOException {
String filename = "policy.txt";
Scanner input = null;
double itemAmount = 0;
String text = "";
int policyCount = 0;
input = new Scanner(new File(filename));
while (input.hasNext()) {
String read = input.nextLine();
String clean = read.replaceAll("\\P{Print}", "");
char policyType = clean.charAt(59);
if (input.hasNextInt()) {
itemAmount = itemAmount + input.nextInt();
input.nextLine();
if (policyType == 'A' || policyType == 'M'){
policyCount++;
}
}
else if(input.hasNext()){
text = input.next();
}
}
System.out.println(policyCount);
System.out.println(itemAmount);
}
그래서 예상대로 작동하지 않습니까? – Eran
접근 방식이 더 복잡해 보이는 것처럼 보입니다. 파일의 각 줄마다 루프의 String 클래스 메서드를 사용하여 분할 및 같음을 사용합니다. –
"policyCount"및 "itemAmount"를 인쇄 할 때받은 값은 0이며 잘못되었습니다. 미안 해요, 원래 게시물에 명확히 했어야합니다. – user3120540