3

次のことを行うのに助けが必要です:

  1. Scanner クラスを使用して入力を受け取る (私はこれを取得しました)
  2. スキャナから入力を取得し、それを文字列にする
  3. replaceAllユーザー入力から 0 ~ 9 の数字を削除するために使用します。

以下のコードは私がこれまでに持っているものですが、ユーザー入力のみを返し、数字を削除していません:

public static void main(String[] args) {

    Scanner firstname = new Scanner(System.in);
    System.out.println("Please enter your first name:");
    String firstname1 = firstname.next();
    firstname1.replaceAll("[^0-9]","");
    System.out.println(firstname1);

コードを更新しました。ありがとうホバークラフト。現在、以下のコードのようにすべての英字を取得する方法を調査しています。ユーザーが入力した数値の前の文字のみを取得しています。

import java.util.Scanner;    

public class Assignment2_A {

    public static void main(String[] args) {

        Scanner firstname = new Scanner(System.in);
        System.out.println("Please enter your first name:");
        String firstname1 = firstname.next();
        firstname1 = firstname1.replaceAll("[^A-Z]","");
        System.out.println(firstname1);
4

3 に答える 3

4
String input = yourScannerObject.nextLine ();

ここで、「yourScannerObject」はスキャナーに付ける名前です。

于 2013-07-07T18:31:18.930 に答える
1

スキャンにはどのような方法を使用しましたか? ですか{scanner object name}.next()

もしそうなら、あなたは文字列を持っていて、あなたがしなければならないことは、いくつかの文字列を作成し、それに入力を保存することだけです.

  • String str="";
  • str = {scanner object name}.next();

Javaで何かを使用する前に、APIを読むことをお勧めします:

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html#next()

于 2013-07-07T18:32:55.363 に答える
0

Scanner クラスを使用して入力を受け取る (私はこれを取得しました)

スキャナから入力を取得し、それを文字列にする

ユーザー入力から数字 0 ~ 9 を削除するには、replaceAll を使用します。

次に例を示します。

String in;
Scanner scan = new Scanner("4r1e235153a6d 6321414t435hi4s 4524str43i5n5g");
System.out.println(in = (scan.nextLine().replaceAll("[0-9]", ""))); // use .next() for space or tab

出力:

read this string

コードの問題は、正規表現「[^AZ]」がアルファベット以外の大文字をすべて削除するように設定されていることです。これは、小文字もすべて削除することを意味します。「[^a-zA-Z]」と言うことができますが、特殊文字も削除しています。

于 2017-11-11T18:14:00.740 に答える