Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.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_Arrays_Java.util.scanner - Fatal编程技术网

Java 如何在多个阵列上同时使用扫描仪输入?

Java 如何在多个阵列上同时使用扫描仪输入?,java,arrays,java.util.scanner,Java,Arrays,Java.util.scanner,我正在制作一个程序,显示存储在多个阵列中的行星的某些值,我需要扫描仪的输入来确定应该显示哪些阵列值 package eindopdrachtse; import java.util.* ; import java.util.ArrayList; public class EindopdrachtSE { public static void main (String[] args) { // Arraylist van de namen ArrayList<String

我正在制作一个程序,显示存储在多个阵列中的行星的某些值,我需要扫描仪的输入来确定应该显示哪些阵列值

package eindopdrachtse;

import java.util.* ;
import java.util.ArrayList;
public class EindopdrachtSE {
public static void main (String[] args) {

    // Arraylist van de namen
    ArrayList<String> names = new ArrayList<>();
    names.add("0 = Mercurius");
    names.add("1 = Venus");
    names.add("2 = Mars");
    names.add("3 = Jupiter");
    names.add("4 = Saturnus");
    names.add("5 = Uranus");
    names.add("6 = Neptunus");
    for (String name : names)
    {
        System.out.println(name);

    }


    // Vul planeet nummer in
    Scanner in = new Scanner (System.in);
    System.out.print("Vul hier uw nummer in:");
    int nummer = in.nextInt();

    if (nummer==0){
        System.out.println("De valversnelling is:"+ valversnelling[nummer] );
    double[] valversnelling = new double[7];
    valversnelling[0]= 2.78;
    valversnelling[1]= 8.60;
    valversnelling[2]= 3.72;
    valversnelling[3]= 22.9;
    valversnelling[4]= 9.05;
    valversnelling[5]= 7.77;
    valversnelling[6]= 11.0;

    double[] massa = new double[7];
    massa[0]= 0.0553;
    massa[1]= 0.8149;
    massa[2]= 0.1074;
    massa[3]= 317.94;
    massa[4]= 95.181;
    massa[5]= 14.531;
    massa[6]= 17.135;

    int[] temperatuur = new int[7];
    temperatuur[0]= 167;
    temperatuur[1]= 464;
    temperatuur[2]= -63;
    temperatuur[3]= -121;
    temperatuur[4]= -130;
    temperatuur[5]= -205;
    temperatuur[6]= -220;    

    } 

    }

    // Informatie opvragen van planeet
    //planeten: 
    //  0 = Mercurius
    //  1 = Venus
    //  2 = Mars
    //  3 = Jupiter
    //  4 = Saturnus
    //  5 = Uranus
    //  6 = Neptunus 


      }
到目前为止,我没有添加所有阵列,只是添加了valversnelling。我只需要了解原则


谢谢那个能帮助我的人

您正在初始化数组值之前调用它

这样做:

double[] valversnelling = new double[7];
valversnelling[0]= 2.78;
valversnelling[1]= 8.60;
valversnelling[2]= 3.72;
valversnelling[3]= 22.9;
valversnelling[4]= 9.05;
valversnelling[5]= 7.77;
valversnelling[6]= 11.0;

double[] massa = new double[7];
massa[0]= 0.0553;
massa[1]= 0.8149;
massa[2]= 0.1074;
massa[3]= 317.94;
massa[4]= 95.181;
massa[5]= 14.531;
massa[6]= 17.135;

int[] temperatuur = new int[7];
temperatuur[0]= 167;
temperatuur[1]= 464;
temperatuur[2]= -63;
temperatuur[3]= -121;
temperatuur[4]= -130;
temperatuur[5]= -205;
temperatuur[6]= -220;    

if (nummer==0) {
    System.out.println("De valversnelling is:"+ valversnelling[nummer] 
}

我需要显示正确的值,如果数字=0,则应显示valversnelling[0]=2.78;但它是如何做到这一点的呢

您的代码已经在这样做了,只需删除if语句。数组索引将打印相应的数据,并在数组初始化后打印:

//if (nummer==0){    //remove the if-statement
    System.out.println("De valversnelling is:"+ valversnelling[nummer] );
完整代码:

您可以初始化数组元素,而无需逐个赋值:

double[] valversnelling = {2.78, 8.60, 3.72, 22.9, 9.05, 7.77, 11.0};
double[] massa = {0.0553, 0.8149, 0.1074, 317.94, 95.181, 14.531, 17.135};
int[] temperatuur = {167, 464, -63, -121, -130, -205, -220};

Scanner in = new Scanner (System.in);
System.out.print("Vul hier uw nummer in:");
int nummer = in.nextInt();

System.out.println("De valversnelling is:"+ valversnelling[nummer] );

我不明白你的问题。你有问题吗?你已经在做你要求的了。您到底想知道什么?我需要扫描仪的输入作为应选择阵列的数字。您的意思是您需要一个接收输入的函数?我需要显示正确的值,如果数字=0,则应显示valversnelling[0]=2.78;但是它是怎么做到的呢?就是这样,谢谢你