Java Arraylist, который хранит пользовательский ввод - PullRequest
0 голосов
/ 16 декабря 2010

как мне заставить его вернуться, чтобы запустить другой каталог, когда пользователь печатает да, а также как мне распечатать массив с использованием формата печати

спасибо

import java.util.ArrayList;
import java.util.Scanner;

public class AAA
{
    public static void main(String[] args) 
{

    ArrayList<String> name = new ArrayList<String>();
    ArrayList<Integer> phone = new ArrayList<Integer>(); 
    Scanner scanner = new Scanner(System.in); 


    {
        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 yes/no?");
        String answer = scanner.nextLine(); 

        if (answer.equals("yes"));
        //want it to go back to start another direcotry here

        else 
    {

        System.out.println("Thanks for adding to the directory");
        System.out.println(answer());
    }


    }

    }
}

Ответы [ 3 ]

1 голос
/ 16 декабря 2010

Вы можете легко распечатать ArrayList:

System.out.println(list);

Будет напечатано что-то вроде:

[один, два, три]

где один, два, три - это результаты вызова toString () или элементов списка массива.

Вы можете легко удалить [] с помощью:

System.out.println(list.toString().replace("[", "").replace("]", ""));

Вы должны использовать свой пользовательский формат и печатать в цикле:

for (String s : list) {
    System.out.println(format(s));
}
1 голос
/ 16 декабря 2010

Попробуйте использовать true, а затем, когда пользователь вводит no, вы нарушаете внешний вид. Код выглядит так:

ArrayList<String> name = new ArrayList<String>();
ArrayList<Integer> phone = new ArrayList<Integer>(); 
Scanner scanner = new Scanner(System.in); 

while(true){
    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 yes/no?");
    String answer = scanner.next(); 

    if (answer.equals("no")){
        System.out.println("Thanks for adding to the directory");
        System.out.println(answer());
        break; //
    }

}

Существуют и другие стратегии, например, использование do / while. Но по сути вы должны использовать цикл.

0 голосов
/ 30 мая 2013
import java.util.ArrayList;
import java.util.Scanner;

public class AAA {

    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 yes/no?");
                answer = scanner.next();
            } while (answer.equals("yes"));
            if (answer.equals("yes")); //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("");
                }
            }


        }

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...