Java程序中的基本数组

Java程序中的基本数组,java,arrays,loops,Java,Arrays,Loops,我是Java初学者,正在编写一个包含数组和循环的基本程序。该计划必须: -要求用户输入“推销员”的姓名5次。这5个名称将存储到字符串数组中。 -另一个双数组用于存储每个人的销售额。 -最后将打印数据 以下是我目前掌握的情况: public static void main (String[] args) { String[] names = new String[5]; System.out.println ("What is the name of the person?")

我是Java初学者,正在编写一个包含数组和循环的基本程序。该计划必须: -要求用户输入“推销员”的姓名5次。这5个名称将存储到字符串数组中。 -另一个双数组用于存储每个人的销售额。 -最后将打印数据

以下是我目前掌握的情况:

public static void main (String[] args)
{
    String[] names = new String[5];
    System.out.println ("What is the name of the person?")
    String name = scan.next();

    double[] sales = new double[5];
    sales[0] = 15000.00;
    sales[1] = 10000.00;
    sales[2] = 4500.00;
    sales[3] = 2500.00;
    sales[4] = 3500.00;

    System.out.println(name1 + "sold " + sales[0]);
    System.out.println(name2 + "sold " + sales[1]);
    System.out.println(name3 + "sold " + sales[2]);
    System.out.println(name4 + "sold " + sales[3]);
    System.out.println(name5 + "sold " + sales[4]);
    }
}
我知道第一部分是不正确的。。。以及大部分的输出

我的老师对向全班解释不太感兴趣。她通常忙于和班上其他同学一起工作。我基本上对数组一无所知。
如果你们中有人能告诉我我需要进入什么地方,我一定会学到一些东西

您需要使用for循环,以避免为每个实例重复代码行。你想要更像这样的东西:

public static void main (String[] args)
{
    String[] names = new String[5];
    double[] sales = new double[5];
    Scanner scan = new Scanner(System.in);

    for (int i=0; i<5; i++) {
         System.out.println ("What is the name of the person?");
         name[i] = scan.next();
         System.out.println ("How much did they sell?");
         sales[i] = scan.nextDouble();
    }
    for (int i=0; i<5; i++) {        
        System.out.println (name[i] + " sold " + sales[i]);
    }
}

在这里查看有关如何使用for循环的更多信息。我编写的循环将在I=0、1、2、3和4时执行内部代码。i=0告诉循环从何处开始。我只需在循环中使用扫描仪

    String[] names = new String[5];
double[] sales = new double[5];
Scanner scanner = new Scanner(System.in);
for(int i = 0; i < names.length; i++){
    System.out.print ("Please input name of sale " + (i+1) + ": ");
    names[i] = scanner.nextLine();
    System.out.print ("Please input sales of sale " + (i+1) + ": ");
    sales[i] = scanner.nextDouble();

}
// following lines is for testing
for(int i=0; i < names.length; i++){
    System.out.println(names[i]+" " + sales[i]);
}
这也是主要的方法

public static void main (String[] args)
{
    List<Salesman> salesmanList = new ArrayList<Salesman>(5);
    Scanner scanner = new Scanner(System.in);
    for(int i = 0; i < 5; i++){
        Salesman salesman = new Salesman();
        System.out.print ("Please input name of sale " + (i+1) + ": ");
        salesman.setName(scanner.nextLine());
        System.out.print ("Please input sales of sale " + (i+1) + ": ");
        salesman.setSales(scanner.nextDouble());
        salesmanList.add(salesman);

    }
    // following lines is for testing
    for(Salesman salesman : salesmanList){
        System.out.println(salesman.getName()+" " + salesman.getSales());
    }

}

使用集合会更容易

Scanner scanner = new Scanner(System.in);
List<String> list = new ArrayList<String>();
for (int i = 0; i < 5; i++) {
    list.add(scanner.nextLine());
}
使用此选项可以简化实现并更好地理解集合

Scanner scanner = new Scanner(System.in);
List<String> list = new ArrayList<String>();
for (int i = 0; i < 5; i++) {
    list.add(scanner.nextLine());
}
试试这个:

public void getInput(){ 

 Scanner scanner = new Scanner(System.in);


 System.out.println("Enter the total no of i/p :")

 int count = scanner.nextInt();

    List<String> collectionOfInput = new ArrayList<String>();

    for (int i = 0; i < count; i++) {

        collectionOfInput.add(scanner.nextLine());

    }
    }
     public void printOutput(){

     for(String outputValue : collectionOfInput){

            System.out.println(result);
        }

-你还有其他问题吗?你需要构造一个循环,执行5次。在该循环中,每次都需要从0开始递增一个计数器变量。使用该值指定数组名[]的索引,以存储从控制台读入的值。然后,您将打印出在names[]数组和sales[]数组中引用相同索引的值:D。如果您不明白我做了什么,请询问我。不要只是复制代码并在不理解的情况下交上来,否则随着课程的进行,你会越来越迷路!您需要使用nextLine而不是next,并且在nextDouble之后调用nextLine。如果你不升级扫描仪,你会得到一个InputMismatchException。我刚刚测试了一组简单的扫描,我似乎根本不需要下一行调用。非常感谢!多亏了你,今天课程在课堂上开始了。我只需要将第二个'inti'切换到'intj',这样它就能正常工作。还感谢其他人的快速帮助!:您不应该切换到j,因为循环是分开的。第一个循环在第二个循环开始之前完全终止,因此可以使用相同的循环变量。在执行嵌套循环时,显然需要使用单独的变量。祝你班上其他同学好运!您需要使用nextLine而不是next,并且在nextDouble之后调用nextLine。如果你不推进扫描仪,你会得到一个输入不匹配异常。我被I+1搞糊涂了。为什么不让我从1点开始呢?还有,为什么不为saller类创建一个构造函数呢?通过这种方式,你可以在实例化时设置它们的字段。
public void getInput(){ 

 Scanner scanner = new Scanner(System.in);


 System.out.println("Enter the total no of i/p :")

 int count = scanner.nextInt();

    List<String> collectionOfInput = new ArrayList<String>();

    for (int i = 0; i < count; i++) {

        collectionOfInput.add(scanner.nextLine());

    }
    }
     public void printOutput(){

     for(String outputValue : collectionOfInput){

            System.out.println(result);
        }