2013-04-10 2 views
-6

저는이 코드 부분을 잠시 동안 작업 해왔고 도움이 필요합니다. 하위 입력을 세로로 인쇄하려면 하위 문자열을 사용해야합니다. 나는 내가 가깝다고 생각하지만, 내가 생각하기에 하나의 쓰레기 팁이 필요하다.부분 문자열 메서드 java

  public static void method3(){ 
    System.out.print("Method 3"); 
Scanner console = new Scanner(System.in); 
    String height = console.nextLine(); 

    System.out.println(" Type in a word to be printed vertically!"); 
    String str = console.nextLine(); 

    System.out.println(str.charAt(height) + " "); 
+1

무엇이 문제입니까? –

+0

'substring'을 사용해야합니까? 'String # charAt'와'String # toCharArray'는 훨씬 쉬울 것입니다. – MadProgrammer

+0

문자열에서 _substring() _을 호출하려면 매개 변수를 전달해야합니다. 매개 변수는} 호로 -어야합니다. – jahroy

답변

1

String.substring()은 필드가 아니라 메소드이므로 str.substring이 아닌 str.substring()을 호출해야합니다. 또한 하위 문자열 메서드는 매개 변수를 사용합니다. 문자열의 인덱스 형식으로 원하는 특정 하위 문자열을 지정해야합니다. str.substring(0, 2)은 문자 0과 1을 인쇄합니다 (상한은 포함되지 않음). 귀하의 목적을 위해 str.substring(height, height+1)가 작동합니다 ...

부분 문자열을 사용해야하는 경우.

동일한 목표를 달성하는 str.charAt(height)을 사용하는 것이 좋습니다.

EDIT (편집 기준) : 1) 높이를 문자열로 정의한 다음 str.charAt (height)를 호출합니다. charAt() 메서드는 int 매개 변수를 사용합니다. 6을 지정하면 문자열의 인덱스 6 (즉 7 번째 문자)에 charater가 제공됩니다. 그것을 알면 String을 매개 변수로 전달하는 것은 의미가 없습니다. 그렇습니까?

2)이 작업을 수행하려면 여전히 루프가 필요합니다. 다음과 같음 :

String str = console.nextLine(); 
    for (int height = 0; height < str.length; height++) {    
     System.out.println(str.charAt(height); 
    } 

의미가 있습니까? 우리가 여기서하고있는 일을 통해 당신을 걸어야하는지 알려주세요.

+0

좋아, 나는 당신의 말을 시도하고있다. 그러나 오류 메시지가있다 : System.out.print ("Method 3"); 스캐너 콘솔 = 새 스캐너 (System.in); String height = console.nextLine(); System.out.println ("세로로 인쇄 할 단어를 입력하십시오!"); String str = console.nextLine(); System.out.println (str.substring (str.length (height, height + 1)) + ""); } – user2264285

+0

메시지 란 무엇인가요? – drewmoore

+0

어쨌든 나는 형식을 엉망으로 만들었고 코드를 망쳤다. – user2264285

2

간단한 옵션은

System.out.println(str.charAt(height) + " "); 

을 - 이것도 아니면 배열을 숯불과 반복을 변환 할 수 있습니다.

+0

public static void method3() { System.out.print ("방법 3"); 스캐너 콘솔 = 새 스캐너 (System.in); String height = console.nextLine(); System.out.println ("세로로 인쇄 할 단어를 입력하십시오!"); String str = console.next(); System.out.println (str.charAt (height) + ""); – user2264285

관련 문제