如何让我的程序打印出每个角色为“角色#1 :(角色),角色#2 :(角色)等”?

问题描述:

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)); 
    } 

我怎样才能得到程序上打印出由一名新的生产线的每个字符“字符#(字符数):”如何让我的程序打印出每个角色为“角色#1 :(角色),角色#2 :(角色)等”?

很抱歉,如果这个问题是混乱的,我是新来的编程

+1

你非常接近。您错过的一件重要事情是实例化用于从控制台读取文本的对象“输入”,例如, '扫描仪输入=新扫描仪(System.in);' – voidHead 2014-09-25 22:24:11

可以打印的“i”为文本

System.out.println ("Character #" + i + ":" + string_1.charAt(i)); 

现在你只打印在每次循环迭代"Character #1:"。取而代之的是,您需要输出"Character #",然后输入(i + 1),然后输入":",然后输入string_1.charAt(i)

这里需要注意几点。首先,你永远不会创建一个对象来接受来自控制台的输入。在Java中,这项任务通常使用Scanner进行。

Scanner sc = new Scanner(System.in); 

下,典型的Java代码约定(取Google's guide for example)决定了变量名应在驼峰风格,不应该包含下划线字符。 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,要增加作为循环的进展正被显示给用户的字符位置的数量。这是通过连接包含循环变量iString完成的。由于循环是零索引的,并且可能希望输出被人类解释,因此在显示索引时将一个索引添加到索引将会很有用。

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)。