选择数组大小并使用用户输入填充它

时间:2015-03-11 10:50:27

标签: java arrays jcreator

用户写入数组中将包含多少个数字,然后用户自己写入数字。我不确定如何为此编写代码。

(这些数字不应该生成。抱歉瑞典语。)。

代码的要点是找到数组中的数字

import java.util.Scanner;
class Sok1 {

    public static void main (String[] args ) {

        System.out.println("Hur många nummer ska din lista bestå av?";
        int ListaLength = new Scanner(System.in).nextInt();
        for(int i=0; i<=ListaLength i++){
            int array
            array[i]=
            //This is where i am stuck.^^^^

        }
    } 

System.out.println("Skriv in ditt första nummer.");
int Lista1 = new Scanner(System.in).nextInt();
System.out.println("Skriv in ditt andra nummer.");
int Lista2 = new Scanner(System.in).nextInt();
System.out.println("Skriv in ditt tredje nummer.");
int Lista3 = new Scanner(System.in).nextInt();
System.out.println("Skriv in ditt fjärde nummer.");
int Lista4 = new Scanner(System.in).nextInt();
System.out.println("Skriv in ditt femte nummer.");
int Lista5 = new Scanner(System.in).nextInt();

//This is the part of code that i removed because the new code is replacing it



    System.out.println("Skriv in numret du letar efter.");
    int element = new Scanner(System.in).nextInt();
    System.out.println(" ");

    int[] myList = {Lista1,Lista2,Lista3,Lista4,Lista5};

    for (int i = 0; i < myList.length; i++) {
        System.out.println(myList[i] + " ");
    }

    for (int i = 0; i < myList.length; i++) {
        if (myList[i] == element)
            System.out.println ("Din siffra är på plats " +(i+1));
        }
    }

3 个答案:

答案 0 :(得分:1)

尝试使用以下代码从用户获取数组大小,然后使用用户输入元素:

public static void main(String[] args) {
    Scanner s=new Scanner(System.in);
    System.out.println("Hur många nummer ska din lista bestå av?");
    int ListaLength = s.nextInt();
    Integer array[] = new Integer[ListaLength];
    for (int i = 0; i < ListaLength; i++) {     
        array[i] = s.nextInt();

    }
    for(int i : array){
        System.out.print(i+" ");
    }
    System.out.println("Skriv in numret du letar efter.");
    int num = s.nextInt();
    int index = Arrays.asList(array).indexOf(num);
    System.out.println(index);

}

答案 1 :(得分:0)

您不需要循环来创建数组,只需构造一个具有所需大小的新数组,如下所示:

int[] array = new int[ListaLength];

答案 2 :(得分:0)

试试这个

import java.util.Scanner;

public class A{
public static void main(String args[]){
    Scanner s=new Scanner(System.in);
    System.out.print("Enter Size : ");

    int Size=Integer.parseInt(s.nextLine());


    int array[] =new int[Size];

    for(int i=0;i<array.length;i++){
        System.out.print("Enter Number : ");
        array[i]=Integer.parseInt(s.nextLine());
    }

    System.out.print("\narray : ");

    for(int x:array)
        System.out.print(x+" ");

}
}

并且每次都不要创建扫描程序的新实例。你可以轻松地重复使用它