Java 在数组列表中存储多个字符串
我必须创建以下程序: 创建一个允许您键入名称的程序。用户键入和提交的名称(使用enter键)应存储在arraylist中。然后,arraylist中的名称应打印在屏幕上 我的问题是我只能在arraylist中存储一个名称 我的代码:Java 在数组列表中存储多个字符串,java,arraylist,Java,Arraylist,我必须创建以下程序: 创建一个允许您键入名称的程序。用户键入和提交的名称(使用enter键)应存储在arraylist中。然后,arraylist中的名称应打印在屏幕上 我的问题是我只能在arraylist中存储一个名称 我的代码: ArrayList <String> namen = new ArrayList <>(); System.out.print("Enter a name: "); Scanner in = new Scann
ArrayList <String> namen = new ArrayList <>();
System.out.print("Enter a name: ");
Scanner in = new Scanner(System.in);
namen.add(in.next());
for (String naam: namen) {
System.out.println(naam);
}
varOne=raadGetal.nextInt()代码>行重置输入,以便您可以再次键入。但是如何使用上面的代码,使用字符串和arraylist实现同样的效果呢?比较运算符
不受字符串支持。使用compareTo
方法来比较String
值
if(varOne.compareTo(varTwo)>0) {
System.out.println("Too high!");
varOne = raadGetal.nextInt();
}
字符串不支持比较运算符
。使用compareTo
方法来比较String
值
if(varOne.compareTo(varTwo)>0) {
System.out.println("Too high!");
varOne = raadGetal.nextInt();
}
问题不在于ArrayList,而在于扫描仪的使用。如果您想询问多个名称,请使用循环
for(int i = 0; i < NUMBER_OF_NAMES_TO_GET; i++){
namen.add(in.next());
}
for(int i=0;i
问题不在于您的ArrayList,而在于扫描仪的使用。如果您想询问多个名称,请使用循环
for(int i = 0; i < NUMBER_OF_NAMES_TO_GET; i++){
namen.add(in.next());
}
for(int i=0;i
您总是声明ArrayList name=new ArrayList()代码>之后是一个空列表。试着这样做:
public class MyClass {
private ArrayList<String> namen = new ArrayList<>();
public void addName(){
System.out.print("Enter a name: ");
Scanner in = new Scanner(System.in);
namen.add(in.next());
for(String naam: namen){
System.out.println(naam);
}
}
}
公共类MyClass{
private ArrayList name=new ArrayList();
public void addName(){
System.out.print(“输入名称:”);
扫描仪输入=新扫描仪(系统输入);
namen.add(in.next());
for(字符串naam:namen){
系统输出打印LN(naam);
}
}
}
您总是声明ArrayList name=new ArrayList()代码>之后是一个空列表。试着这样做:
public class MyClass {
private ArrayList<String> namen = new ArrayList<>();
public void addName(){
System.out.print("Enter a name: ");
Scanner in = new Scanner(System.in);
namen.add(in.next());
for(String naam: namen){
System.out.println(naam);
}
}
}
公共类MyClass{
private ArrayList name=new ArrayList();
public void addName(){
System.out.print(“输入名称:”);
扫描仪输入=新扫描仪(系统输入);
namen.add(in.next());
for(字符串naam:namen){
系统输出打印LN(naam);
}
}
}
您可以先询问用户想要提供的姓名数量
int noOfNames = in.nextInt();
然后在此基础上创建一个循环来存储所有的名称
for(int i = 0; i <noOfNames ; i++){
names.add(in.next());
}
对于(int i=0;i您可以先询问用户想要给出的姓名数量
int noOfNames = in.nextInt();
然后在此基础上创建一个循环来存储所有的名称
for(int i = 0; i <noOfNames ; i++){
names.add(in.next());
}
for(int i=0;i尝试在循环中调用它。它只执行一次。请尝试以下操作:-
导入java.util.ArrayList;
导入java.util.Scanner
公共类地址名{
private void name() {
ArrayList<String> namen = new ArrayList<String>();
int count = 1;
while(count>0){
System.out.print("Enter a name: ");
Scanner in = new Scanner(System.in);
String a = in.next();
namen.add(a);
if (a.equals("exit")) {
System.out.println("Exiting");
System.exit(0);
}
else{
for (String naam : namen) {
System.out.println(naam);
}
}
count++;
}
}
public static void main(String[] args) {
addName addNames = new addName();
addNames.name();
}
private void name(){
ArrayList name=新的ArrayList();
整数计数=1;
而(计数>0){
System.out.print(“输入名称:”);
扫描仪输入=新扫描仪(系统输入);
字符串a=in.next();
名称.添加(a);
如果(a.等于(“退出”)){
系统输出打印项次(“退出”);
系统出口(0);
}
否则{
for(字符串naam:namen){
系统输出打印LN(naam);
}
}
计数++;
}
}
公共静态void main(字符串[]args){
addName addNames=新的addName();
addNames.name();
}
}尝试在循环中调用它。它只执行一次。请尝试以下操作:-
导入java.util.ArrayList;
导入java.util.Scanner
公共类地址名{
private void name() {
ArrayList<String> namen = new ArrayList<String>();
int count = 1;
while(count>0){
System.out.print("Enter a name: ");
Scanner in = new Scanner(System.in);
String a = in.next();
namen.add(a);
if (a.equals("exit")) {
System.out.println("Exiting");
System.exit(0);
}
else{
for (String naam : namen) {
System.out.println(naam);
}
}
count++;
}
}
public static void main(String[] args) {
addName addNames = new addName();
addNames.name();
}
private void name(){
ArrayList name=新的ArrayList();
整数计数=1;
而(计数>0){
System.out.print(“输入名称:”);
扫描仪输入=新扫描仪(系统输入);
字符串a=in.next();
名称.添加(a);
如果(a.等于(“退出”)){
系统输出打印项次(“退出”);
系统出口(0);
}
否则{
for(字符串naam:namen){
系统输出打印LN(naam);
}
}
计数++;
}
}
公共静态void main(字符串[]args){
addName addNames=新的addName();
addNames.name();
}
}Lutz,您可以按如下方式编写/修改代码:
请注意,应始终使用String.equals()
方法检查两个字符串的相等性
import java.util.ArrayList;
import java.util.Scanner;
public class AddNames {
public static void main(String[] args) {
ArrayList<String> namen = new ArrayList<String>();
System.out.print("Enter a name(or write exit to close the program) : ");
Scanner in = new Scanner(System.in);
String name = in.next();
while (!name.equals("exit")) {
namen.add(name);
name = in.next();
}
if (name.equals("exit")) {
System.out
.println("Exiting the program. The names you have entered are:");
for (String naam : namen) {
System.out.println(naam);
}
}
}
}
import java.util.ArrayList;
导入java.util.Scanner;
公共类地址名{
公共静态void main(字符串[]args){
ArrayList name=新的ArrayList();
System.out.print(“输入名称(或写入退出以关闭程序):”;
扫描仪输入=新扫描仪(系统输入);
字符串名称=in.next();
而(!name.equals(“退出”)){
名称n.添加(名称);
name=in.next();
}
if(name.equals(“exit”)){
系统输出
.println(“退出程序。输入的名称为:”);
for(字符串naam:namen){
系统输出打印LN(naam);
}
}
}
}
Lutz,您可以按如下方式编写/修改代码:
请注意,应始终使用String.equals()
方法检查两个字符串的相等性
import java.util.ArrayList;
import java.util.Scanner;
public class AddNames {
public static void main(String[] args) {
ArrayList<String> namen = new ArrayList<String>();
System.out.print("Enter a name(or write exit to close the program) : ");
Scanner in = new Scanner(System.in);
String name = in.next();
while (!name.equals("exit")) {
namen.add(name);
name = in.next();
}
if (name.equals("exit")) {
System.out
.println("Exiting the program. The names you have entered are:");
for (String naam : namen) {
System.out.println(naam);
}
}
}
}
import java.util.ArrayList;
导入java.util.Scanner;
公共类地址名{
公共静态void main(字符串[]args){
ArrayList name=新的ArrayList();
System.out.print(“输入名称(或写入退出以关闭程序):”;
扫描仪输入=新扫描仪(系统输入);
字符串名称=in.next();
而(!name.equals(“退出”)){
名称n.添加(名称);
name=in.next();
}
if(name.equals(“exit”)){
系统输出
.println(“退出程序。输入的名称为:”);
for(字符串naam:namen){
系统输出打印LN(naam);
}
}
}
}
OP程序中的ArrayList定义是正确的。他正在使用菱形运算符(
)在Java 7引入的右侧。但该列表随后为空,因此它只包含一个名称,OP希望其中包含更多名称。OP程序中的ArrayList定义是正确的。他在右侧使用菱形运算符(
)