일련의 변수로 출력 문자열을 포맷하고 싶습니다.printf를 int 배열로 포맷 할 수없는 이유는 무엇입니까?
String[] myArray = new String[3];
// fill array with strings
System.out.printf("1: %s \n2: %s \n3: %s\n", myArray);
내가 시뮬레이션의 결과 주사위를-던졌습니다 인쇄하려면이 옵션을 사용하려면, 그래서 int 배열을 사용 : 내가 문자열 배열을 사용하는 경우,이 예상대로 작동합니다. 나는 모든 요소에 대한 myArray[0]
등을 사용할 수 있습니다, 물론
int[] myArray = new int[3];
// fill array with numbers
System.out.printf("1: %d \n2: %d \n3: %d\n", myArray);
Exception in thread "main" java.util.IllegalFormatConversionException: d != [I
, 그러나 이것은 매우 우아하지 않는 것 : 그러나이 작동하지 않습니다.
왜 이렇게되어 원하는 결과를 얻을 수 있습니까?
out.printf("%s:%s", new Object[] { a, b });
에 돌아 가지 : 그래서의 동등한
public PrintString printf(String format, Object... args);
out.printf("%s:%s", a, b);
입니다 : 우리가 0 T0 N 인수를 전달할 수 있도록
이 경우 루프 또는 다른 것을 사용하는 것이 더 좋지 않습니까? – Svish