如何计算关键字符?

时间:2013-02-15 23:37:13

标签: java string

我有以下代码:

import java.util.Scanner;

public class chara{

   public static void main(String[]args){


     Scanner input = new Scanner(System.in); 

     System.out.println("Input a string");

     String user=input.nextLine();

     if(user.length()<7)

     {

        return;

     }

     else

    {



    }

    System.out.println("now input a letter to be replaced");

    String letter = input.next();

    String user2 = user.replace(letter, "-");

    String user3 = user.replace(letter, "");

    System.out.println(user2);

    System.out.println(user3);

  }
}

代码需要做三件事,包括字符串和字母:

  1. 用“ - ”
  2. 替换字符串中的关键字母
  3. 删除字符串的关键字
  4. 计算关键字母出现的次数。
  5. 目前我有两个问题。我不知道如何计算这封信的次数 出现,因为从技术上讲它是一个字符串,而不是一个字符,我不知道如何计算 字符串。其次,我需要这样做,如果字符串不是所需的长度它 只是再次询问而不是退出程序。我试图使用getString()方法,但由于某种原因,它总是说该方法是未定义的。

3 个答案:

答案 0 :(得分:3)

问题#1:

靠近主要方法的顶部:

int count = 0;

分配user3后:

count += (user3.length() - user.length());

答案 1 :(得分:1)

对于解决问题#1的解决方案完全归功于user1324109,以下是解决问题的方法#2:

import java.util.Scanner;

public class StringReader {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        String user1 = "", user2 = "", user3 = "";
        int count = 0;
        while(user1.equals("") || user1.length() < 7) {
            System.out.println("Input a string");
            user1 = input.nextLine();
        }
        if(!user1.equals("")) {
            System.out.println("now input a letter to be replaced");
            String letter = input.next();
            user2 = user1.replace(letter, "-");
            user3 = user1.replace(letter, "");
            System.out.println(user2);
            System.out.println(user3);
            count += (user1.length() - user3.length());
            System.out.println("letter was found to be present "+count+" times");
        }
    }
}

答案 2 :(得分:0)

帮助解决问题#3:

    int count = 0;

    for(char c : user.toCharArray() ){
        if ( c ==  letter.charAt(0)) count++;
    }

    System.out.println("Number of occurences: "+count);