2014-11-30 4 views
0

on line 22 "문자열 litteral이 올바르게 닫히지 않았습니다."라는 메시지가 나타납니다. System.out.printf의 문제점은 무엇입니까?문자열 litteral이 올바르게 닫히지 않았습니다.

import java.util.*; 
public class Tenta131219main { 
public static void main (String[] arg) { 
    Scanner sc = new Scanner(System.in); 
    int sum, ant10, ant5, ant1; 
    String indata1; 
    System.out.print("\nAnge din summa: "); 
    sum = sc.nextInt(); 
    if (sum <= 10) 
     System.out.println("For lagt belopp!!"); 
else { 
System.out.print("\nAnge sort: "); 
indata1 = sc.next(); 
indata1 = indata1.substring(0,2); 
ant10 = 0; 
while (sum >= 10) { 
    sum = sum - 10; 
    ant10 = ant10 +1; 
} 
ant5 = sum/5; 
ant1 = sum % 5; 
System.out.printf("\n%s blir\n%d tior %d femmor %d enkronor 
\n", indata1, ant10, ant5, ant1); 
} 
} 
} 

답변

2

여기

System.out.printf("\n%s blir\n%d tior %d femmor %d enkronor 
\n", indata1, ant10, ant5, ant1); 

이것은 Java Language Specification

에 설명되어 있습니다 그것은 라인 종결 후 표시 할 수있는 컴파일 타임 오류처럼 여러 줄을 확장 할 수 없습니다 String 리터럴 개봉 " 및 마감 일치 전 " 앞에.

System.out.printf("\n%s blir\n%d tior %d femmor %d enkronor\n", indata1, ant10, ant5, ant1); 

또는에

변경 그것은 "으로 문자를 닫고 연결을위한 +을 추가합니다.

System.out.printf("\n%s blir\n%d tior %d femmor %d enkronor" + 
"\n", indata1, ant10, ant5, ant1); 
관련 문제