-1

すべてのヘルプ担当者に感謝しますが、ループが実行されている以下のPatrickの提案を使用して質問の性質が変更されましたが、それぞれの配列データへの入力が格納されていないようで、次の位置に移動するのではなく、ArrayListsに置き換えられますArrayList何か提案はありますか?

  import java.util.ArrayList;
import java.util.Scanner;
public class Arrray {
    public static void main(String [] args){

        ArrayList<String> names;
        ArrayList<String> addr;


        do {
            names = new ArrayList<String>();
            addr = new ArrayList<String>();
            Scanner userInput = new Scanner(System.in);
            System.out.println("Name and Adreess are: " + names.size() + "**"
                    + addr.size());
            System.out.println("please Enter Your Name :");
            names.add(userInput.next());
            System.out.println("please enter your Address  :");
            addr.add(userInput.next());

            System.out.println("Do you want to add another entry? :(y/n)" );
            String ans =userInput.next();  // get the value from the user using scanner class
            if(ans.equals("n") || ans.equals("N"))
                break;

        } while (true);
        int n = names.size();
        int a = addr.size();
        for(int i =0; i<n && i<a; i++ )
            System.out.println("Name and address are as below:  "+ names.get(i)+"**"+ addr.get(i));




    }

}
4

5 に答える 5

1

をbreakステートメントwhile(true)と組み合わせて使用​​します。

do {
    if(input.next() == 'n'){
        break;
    }
} while(true);
于 2011-12-09T12:55:14.793 に答える
0

このユーザーの入力をキャプチャしてみてください

System.out.println("Do you want to add another entry? :(y/n)");

しばらくの間、その情報を使用します。

于 2011-12-09T12:52:33.880 に答える
0

ユーザーから値を取得し、ユーザーがnを入力した場合は、それ以外の場合は何も中断しません。

System.out.println("Do you want to add another entry? :(y/n)" );
String ans = .... // get the value from the user using scanner class
if(ans.equalsIgnoreCase("n"))
     break;
于 2011-12-09T12:56:09.610 に答える
0

あなたはこのようなことをしなければなりません:

String choice = "";
do {
    .
    .
    .
    .
    System.out.println("Do you want to add another entry? :(y/n)" );
    choice = userInput.next();
} while (!(choice.equals("n") || choice.equals("N")));

この線

choice = userInput.next();

ユーザー入力と、入力を比較するためのStringクラスメソッドを読み取ります 。equalsループは、またはのいずれかが選択されるまで続きNますn

于 2011-12-09T13:17:33.460 に答える
0

import java.util.ArrayList; java.util.Scannerをインポートします。

パブリッククラス配列{

public static void main(String[] args) {

    ArrayList<String> name = new ArrayList<String>();
    ArrayList<Integer> phone = new ArrayList<Integer>();
    Scanner scanner = new Scanner(System.in);
    String answer = "";
    do {
        System.out.println("Please enter your name: ");
        name.add(scanner.next());
        System.out.println("Please enter your number: ");
        phone.add(scanner.nextInt());
        System.out.println("Do you want to add a directory y/n?");
        answer = scanner.next();
    } while (answer.equals("y") || answer.equals("Y"));
    if (answer.equals("y") || answer.equals("Y")); //want it to go back to start another direcotry here
    else {
        System.out.println("Thanks for adding to the directory");
        for (int i = 0; i < name.size(); i++) {
            System.out.print(name.get(i) + "\t");
            System.out.print(phone.get(i));
            System.out.println("");
        }
    }
}

}

于 2013-05-30T20:32:47.173 に答える