substring方法java

时间:2013-04-10 02:59:42

标签: java substring

所以我一直在研究这段代码,我需要帮助。我需要使用子字符串垂直打印用户输入。我想我很接近,但我认为只需要一个小小的提示。

         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) + " ");   

2 个答案:

答案 0 :(得分:2)

简单的选项是 -

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

或者你可以转换为char数组并迭代它。

答案 1 :(得分:1)

String.substring()是一种方法,而不是字段,这意味着您需要调用str.substring()而不是简单str.substring。此外,substring方法接受参数 - 您必须以字符串中的索引的形式告诉它您想要的特定子字符串。 str.substring(0, 2)将打印字符0和1(不包括上限)。出于您的目的,str.substring(height, height+1)可以正常工作......

如果必须使用子字符串。

我建议使用str.charAt(height)来实现相同的目标。

编辑(根据您的编辑): 1)您将高度定义为String,然后调用str.charAt(height)。 charAt()方法接受一个int参数 - 如果你给它6,它将给你字符串中索引6(即第七个字母)的字符。知道这一点,将String作为参数传递没有任何意义,是吗?

2)你仍然需要一个循环来完成这个。类似的东西:

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

这有意义吗?如果我需要向您介绍我们正在做的事情,请告诉我。