【问题标题】:Letter Counter Code [duplicate]信件柜台代码 [重复]
【发布时间】:2016-01-11 20:25:00
【问题描述】:

//提示是:写一个程序让用户输入一个字符串,//然后让用户输入一个字符。程序应该计数并显示 //指定字符在字符串中出现的次数。

import java.util.Scanner;
public class LetterCounter{
Scanner keyboard = new Scanner (System.in);     //Scanner
// Declare Variables
    String userString;      // String user entered
    String userCharacter;   // Character user entered
    int StringSize;      
// Ask the user to enter a string
    System.out.println("Please Enter a String.");
    userString = keyboard.nextLine();

// Ask the user to enter a charcter
    System.out.println("Please Enter a Character.");
    userCharacter = keyboard.nextLine();

// Count and display the number of times that character appears in the
// string chosen by the user.
    int character; 
    character = Integer.parseInt(userCharacter);
    StringSize = userString.charAt(character);
}
}

由于某种原因,我无法让它工作,我只是不知道从这里去哪里。我可能需要一个 FOR-LOOP 吗?

感谢您的帮助

【问题讨论】:

  • 你试过运行代码吗?我很确定它不会编译。

标签: java loops counter letter


【解决方案1】:

你好,看看这个

package gmit;

import java.util.Scanner;
public class LetterCounter{

    public static void main(String[] args) {
        String keyBoardChar;    

Scanner keyboard = new Scanner (System.in);     //Scanner
// Declare Variables
    String userString;      // String user entered
    char userCharacter;   // Character user entered
    int StringSize;      
// Ask the user to enter a string
    System.out.println("Please enter a string");
    userString = keyboard.nextLine();

// Ask the user to enter a charcter

    System.out.println("Please Enter a Character.");
    char kChar = keyboard.next().charAt(0);

// Count and display the number of times that character appears in the
// string chosen by the user.
    int character = 0; 
    //character = Integer.parseInt(userCharacter);
    //StringSize = userString.charAt(character);

    char[] StringToChar = userString.toCharArray();
    for(int i = 0; i < StringToChar.length - 1; i++){
        if ( StringToChar[i] == kChar){
            character++;
        }
    }
    System.out.println("character count is " + character);

} }

我使用 char kChar = keyboard.next().charAt(0);

并将 String 转换为 Char 数组,运行 for 循环遍历每个字母并检查它是否与所选字符相同。每次检查为真时,我都会在字符计数器中添加一个。

【讨论】:

    【解决方案2】:

    是的,您需要使用 for 循环。

    int count = 0;
    for (char ch: userString.toCharArray()) {
        if(userChar == ch) count++;
    }
    

    【讨论】:

    • 它不会工作,因为处于当前状态的程序根本无法编译
    • 我知道它不会按原样编译,但这不会改变需要 for 循环的事实。
    • 是的。但同时我们需要引导提问者关于代码还有什么问题。所以你也应该在答案中包含它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多