2

私は次のコードを持っています:

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

  }
}

コードは、文字列と文字を使用して3つのことを実行する必要があります。

  1. 文字列のキー文字を「-」に置き換えます
  2. 文字列のキー文字を削除します
  3. キーレターが表示される回数を数えます。

現在、2つの問題があります。技術的には文字ではなく文字列であり、文字列のカウント方法がわからないため、文字が表示される回数をカウントする方法がわかりません。次に、文字列が目的の長さでない場合、プログラムを終了するのではなく、単に再度要求するようにする必要があります。getString()メソッドを使用しようとしましたが、何らかの理由で、メソッドが未定義であると常に表示されます。

4

3 に答える 3

3

問題#1の場合:

メインメソッドの上部付近:

int count = 0;

user3 が割り当てられた後:

count += (user3.length() - user.length());
于 2013-02-15T23:48:38.470 に答える
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");
        }
    }
}
于 2013-02-16T00:02:27.530 に答える
0

問題#3を支援するには:

    int count = 0;

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

    System.out.println("Number of occurences: "+count);
于 2013-02-16T00:01:01.803 に答える