2015-10-13 49 views
-1

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

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?

感谢您的帮助

+1

您是否尝试过运行代码?我很确定它不会编译。 –

回答

0

是的,你需要使用一个for循环。

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

它不会工作,导致程序在其当前状态将不会编译 –

+0

我知道它不会按原样编译,但这并不改变需要for循环的事实。 – hermitmaster

+0

是的。但同时我们需要指导提问者关于代码还有什么问题。所以你应该在答案中包括这一点 –

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

} }

我所选择使用的信 炭kChar = keyboard.next()的charAt(0)。

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