所以我一直在研究这段代码,我需要帮助。我需要使用子字符串垂直打印用户输入。我想我很接近,但我认为只需要一个小小的提示。
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) + " ");
答案 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);
}
这有意义吗?如果我需要向您介绍我们正在做的事情,请告诉我。