int i;
System.out.print("Please enter a string: ");
String string_1 = input.nextLine();
System.out.println("Entered string: " + string_1);
for ( i = 0; i < string_1.length(); i++ ) {
System.out.println ("Character #1:" + string_1.charAt(i));
}如何让程序打印出以"Character #(字符编号)“开头的新行中的每个字符:
如果这个问题令人困惑,很抱歉,我是编程新手
发布于 2014-09-26 06:21:51
您可以将"i“打印为文本
System.out.println ("Character #" + i + ":" + string_1.charAt(i));发布于 2014-09-26 06:22:06
现在,您只能在每次循环迭代中打印"Character #1:"。相反,您需要输出"Character #",然后输出(i + 1),然后输出":",最后输出string_1.charAt(i)。
发布于 2014-09-26 06:40:08
这里有几件事需要注意。首先,您从未真正创建过一个对象来接受来自控制台的输入。在Java语言中,这项任务通常使用Scanner来执行。
Scanner sc = new Scanner(System.in);接下来,典型的Java代码约定(采用Google's guide for example)规定变量名应该是camelCase样式的,并且不应该包含下划线字符。因此,对string_1来说,更好的名称应该是input,或者类似的名称。
System.out.print("Please enter a string: ");
String input = sc.nextLine(); // input from console
System.out.println("Entered string: " + input);最后,在for-loop中,您希望随着循环的进行递增显示给用户的字符位置的数字。这是通过连接包含循环变量i的String来完成的。由于循环是零索引的,并且您可能希望由人类解释输出,因此在显示输出时向索引添加一个索引将非常有用。
for (int i = 0; i < input.length(); i++ ) {
// build a string using `i + 1` to display character index
System.out.println ("Character #" + (i + 1) + ": " + input.charAt(i));
}同样值得注意的是,在循环定义中声明循环变量int i更可取,因为它限制了变量的作用域(参见:Declaring variables inside or outside of a loop)。
https://stackoverflow.com/questions/26049070
复制相似问题