Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用累积算法连接用户输入字符串_Java_String_Object_Output_Concatenation - Fatal编程技术网

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();
    }
}