1

ユーザーに名前を入力してもらい、ユーザーがセンチネル値を入力するまでその名前を画面にエコーするように求める演習に問題があります。これがセンチネル制御のループであることは理解していますが、整数ではなく名前の入力を扱っているという事実に固執しています。私は自分の本の中で、センチネル値を整数で使用する方法のみを説明し、文字列「名前」では使用しないプログラムに従おうとしました。この回答を調べてみたところ、これに当てはまる場合でも name.equals("stop") のようなものを見ました。APIで調べましたが、それでも役に立ちませんでした。それが全体としてどのように適用されるかを見てみたいと思います。
注: これは私がこれまでに行ったことであり、私がどれだけ離れているかを知りたい.

import java.util.*;

public class SentinelControlledLoop {

    static Scanner console = new Scanner(System.in);
    static final int SENTINEL = #;

    public static void main (String[] args) {

        String name;
        System.out.println("Enter a name " + "ending with " + SENTINEL); 
        String name = reader.next();

        while (!name.equals(“stop”)) {
            name = reader.next();
        }
4

3 に答える 3

0
do {
    name = reader.next();
} while (name.lastIndexOf(SENTINEL) == -1);

名前にセンチネルを含めることはできないと思います。それ以外の場合は== -1

!= length(name) - 1

PS。あなたはString name2回宣言しています。

PS2。さらに良い状態:

while (!name.endsWith(String.valueOf(SENTINEL));
于 2012-11-29T22:28:21.037 に答える