**结案。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
15小时前关门了。
改进这个问题
我正在尝试合并到2个列表,然后将它们一起打印为“name”和“chore”。那我就得把他们洗牌,加入他们。洗牌很好用。
但是,当我在这个琐事中添加一个以上的单词时,它就会成为列表中的下一项。我不知道怎么解决这个问题。有什么建议吗?
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
/**
* Create a Java file called chores.java . Inside, write a Java lot-drawing
* program that allows the user to enter a list of names and a list of chores
* (equal lengths). The program should assign each person a random chore. Print
* out the pairs (i.e. name + chore)
*
* @author Nada
*
*/
public class chores {
public static void main(String[] args) {
System.out.println("Enter 3 names\n----------------------");
List<String> nameList = new ArrayList<String>();
Scanner input = new Scanner(System.in);
for (int i = 0; i < 3; i++) {
System.out.print("Enter name: ");
nameList.add(input.next());
}
System.out.println("\nEnter 3 chores\n-------------------");
List<String> choreList = new ArrayList<String>();
for (int i = 0; i < 3; i++) {
System.out.print("Enter chore: ");
choreList.add(input.next());
}
input.close();
// Prints in original order
System.out.println("\nChores list\n------------------------");
List<String> list3 = new ArrayList<>();
for (int i = 0; i < nameList.size(); i++) {
list3.add(nameList.get(i) + ", " + choreList.get(i));
}
for (String str : list3) {
System.out.println(str);
}
// Shuffles list
System.out.println("\nShuffled Chores List\n------------------------");
Collections.shuffle(nameList);
// System.out.println( "Shuffled Names: " + nameList);
Collections.shuffle(choreList);
// System.out.println( "Shuffled Chores: " + choreList);
List<String> list4 = new ArrayList<>();
for (int i = 0; i < nameList.size(); i++) {
list4.add(nameList.get(i) + ": " + choreList.get(i));
}
for (String str : list4) {
System.out.println(str);
}
}
}
2条答案
按热度按时间vu8f3i0k1#
而不是
System.out.print("Enter name: ");
尝试System.out.println("Enter name: ");
也而不是
nameList.add(input.next());
尝试nameList.add(input.nextLine());
anauzrmj2#
如果要使用整行文本作为输入,请使用input.nextline();