Java程序中的基本数组
我是Java初学者,正在编写一个包含数组和循环的基本程序。该计划必须: -要求用户输入“推销员”的姓名5次。这5个名称将存储到字符串数组中。 -另一个双数组用于存储每个人的销售额。 -最后将打印数据 以下是我目前掌握的情况: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?")
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);
}