Java 使用累积算法连接用户输入字符串
我正试图编写一个程序,询问用户一个特定类有多少先决条件,询问每个先决条件的名称,然后在一行中输出一个先决条件列表 我的程序正在运行,没有返回任何错误;但是,当它输出先决条件列表时,它只重复用户输入的最后一个先决条件,而不是列出所有输入的先决条件。我相信这是因为每次用户输入一个新的先决条件时,对象的价值都在变化;但是,我不知道如何让它保存每个值并将它们连接在一起以进行输出 下面的代码是我用来从用户那里收集先决条件的代码Java 使用累积算法连接用户输入字符串,java,string,object,output,concatenation,Java,String,Object,Output,Concatenation,我正试图编写一个程序,询问用户一个特定类有多少先决条件,询问每个先决条件的名称,然后在一行中输出一个先决条件列表 我的程序正在运行,没有返回任何错误;但是,当它输出先决条件列表时,它只重复用户输入的最后一个先决条件,而不是列出所有输入的先决条件。我相信这是因为每次用户输入一个新的先决条件时,对象的价值都在变化;但是,我不知道如何让它保存每个值并将它们连接在一起以进行输出 下面的代码是我用来从用户那里收集先决条件的代码 public static void getPrereqs() { Sy
public static void getPrereqs() {
System.out.print("How many pre-requisites does the course have? ");
numPrereqs = console.nextInt();
console.nextLine();
for (int i = 1; i <= numPrereqs; i++) {
System.out.print("List Pre-requisite #" + i + "? ");
listPrereq = console.nextLine();
}//Close for loop
}//Close getPrereqs method
publicstaticvoid getPrereqs(){
系统输出打印(“课程有多少必备条件?”);
numPrereqs=console.nextInt();
console.nextLine();
对于(int i=1;i您当前在每次迭代中覆盖字符串变量listpreq
。您需要存储到数组中(首选),或作为一个大字符串连接
如果您不喜欢列表,那么数组就可以了
不要将listpreq
声明为String
,而是声明为数组:
String[] listPrereq;
然后,您需要创建足够大的文件来存储每个先决条件:
numPrereqs = console.nextInt();
listPrereq = new String[numPrereqs];
然后存储这些值:
for (int i = 0; i < numPrereqs; i++) {
System.out.print("List Pre-requisite #" + (i+1) + "? ");
listPrereq[i] = console.nextLine();
} // Close for loop
for(int i=0;i
然后打印:
System.out.print("Pre-requisites: ");
for (int i = 0; i < numPrereqs; i++) {
System.out.print(listPrereq[i]);
if (i != numPrereqs - 1)
System.out.println(",");
}//Close for loop
System.out.print(“先决条件:”);
对于(int i=0;i
您可以将一个大字符串连接在一起,而不是使用数组(这是您的首选项吗?)
编辑:如何创建大字符串
String listPrereq = "";
for (int i = 0; i < numPrereqs; i++) {
System.out.print("List Pre-requisite #" + (i+1) + "? ");
listPrereq += console.nextLine();
if (i != numPrereqs - 1)
listPrereq += ",";
} // Close for loop
// To print:
System.out.println(listPrereq);
String listpreq=”“;
对于(int i=0;i
导入java.util.*;
公共课程详情{
专用静态扫描仪控制台;
公共静态void getPrereqs(){
控制台=新扫描仪(System.in);
整数;
字符串listpreq=“”;
系统输出打印(“课程有多少必备条件?”);
numPrereqs=console.nextInt();
console.nextLine();
对于(int i=1;i listPrereqs是什么类型的变量?它的数据类型我的意思是listPrereq的数据类型是字符串。虽然它看起来像是一个数组在工作,但如果可能的话,我倾向于将它连接为一个大字符串。你能就如何在不丢失每次迭代的情况下执行后者提供建议吗?请查看编辑ed回答。这构建了一个大字符串。我使用了两种建议的方法,发现两种方法都有效!我需要对数组进行更多的研究,然后才能轻松地合并它们。感谢您的耐心和彻底的分解。
String listPrereq = "";
for (int i = 0; i < numPrereqs; i++) {
System.out.print("List Pre-requisite #" + (i+1) + "? ");
listPrereq += console.nextLine();
if (i != numPrereqs - 1)
listPrereq += ",";
} // Close for loop
// To print:
System.out.println(listPrereq);
import java.util.*;
public class CourseDetails {
private static Scanner console;
public static void getPrereqs() {
console = new Scanner(System.in);
int numPrereqs;
String listPrereq = "";
System.out.print("How many pre-requisites does the course have? ");
numPrereqs = console.nextInt();
console.nextLine();
for (int i = 1; i <= numPrereqs; i++) {
System.out.print("List Pre-requisite #" + i + "? ");
listPrereq = listPrereq + i + " " + console.nextLine();
listPrereq = listPrereq + "\n";
} // Close for loop
System.out.println("Pre-requisites: ");
System.out.println(listPrereq);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
getPrereqs();
}
}
import java.util.Scanner;
public class CourseDetailsA {
private static Scanner console;
public static void getPrereqs() {
console = new Scanner(System.in);
int numPrereqs;
int j = 1;
String[] listPrereq;
System.out.print("How many pre-requisites does the course have? ");
numPrereqs = console.nextInt();
listPrereq = new String[numPrereqs];
console.nextLine();
for (int i = 0; i <= numPrereqs - 1; i++) {
System.out.print("List Pre-requisite #" + j + "? ");
listPrereq[i] = j + " " + console.nextLine() + "\n";
j++;
} // Close for loop
System.out.println("Pre-requisites: ");
for (int i = 0; i <= numPrereqs - 1; i++) {
System.out.print(listPrereq[i]);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
getPrereqs();
}
}