gpt4 book ai didi

Java 数组(在 JRE 中)

转载 作者:行者123 更新时间:2023-12-01 13:51:32 25 4
gpt4 key购买 nike

我有一个作业,我必须设置一个由用户(通过命令行)形成的数组,用户确定长度以及其中的数字。我似乎根本无法让它提示用户,但运行它时没有出现错误。

这是我到目前为止所拥有的:

class hw8064 {
static void createArray(int x1, int y1){

int numElements;

double[] a1;
a1 = new double[x1];
double[] a2;
a2 = new double[y1];
for (int i=0; i<=a1.length; i++){
System.out.println("Please enter a double for array 1[<i>] and one for array 2[<i>]:");
}


}
public static void main(String [] args){
int numElements;
if (args.length > 0){
try{
numElements = Integer.parseInt(args[0]);
} catch (NumberFormatException e){
System.out.println("Argument must be an integer");
System.exit(1);
}
}
}
}

此外,我知道当我配置项目文件以便能够解析 JRE 中的 int 时,我需要为参数添加一些内容,但我不确定是什么。预先感谢您的帮助!

编辑:我已经基本设置好了,除了我现在找不到变量......

import java.util.Scanner;

class hw8064 {

public static void createArray(double x1, double y1, int numElements) {
Scanner in = new Scanner(System.in);

double a1[] = {x1};
a1 = new double[numElements];
double a2[] = {y1};
a2 = new double[numElements];
for (int i = 0; i <= a1.length; i++) {
System.out.println("Please enter a double for array 1[<" + i + ">]and one for array 2[<" + i + ">]:");

}

}

public static void main(String[] args) {

if (args.length > 0) {

try {
int numElements = Integer.parseInt(args[0]);

} catch (NumberFormatException e) {
System.out.println("Argument must be an integer");
System.exit(1);
}
try {
int numElements = Integer.parseInt(args[0]);
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Please enter an integer for the argument");
System.exit(1);
}

}
createArray(***numElements***);
}

}

我调用该方法的最后一行给了我问题

最佳答案

您需要像这样在 main 中调用 creatArray 方法

public static void main(String [] args){
int numElements;
if (args.length > 0){
try{
numElements = Integer.parseInt(args[0]);
} catch (NumberFormatException e){
System.out.println("Argument must be an integer");
System.exit(1);
}
}

createArray(numElements);
}

由于您只能从命令行获取一个参数,因此该方法应该只有一个参数

 static void createArray(int numElements){
double[] a1 = new double[x1];

for (int i=0; i<=a1.length; i++){
System.out.println(
"Please enter a double for array [<" + i + ">] "
+ "and one for array 2[<" + i + ">]:");
}

如果您想从命令行获取两个参数,您应该在 main 中执行类似的操作

if (args.length != 2){
System.out.println(Usage: numOfElements1 numOfElments2);
System.exit(0);
} else {
try {

} catch ( ..... ) {

}
}

编辑:完成

public static void main(String[] args){
int num1;
int num2;

if (args.length != 2){
System.out.println(Usage: numOfElements1 numOfElments2);
System.exit(0);
} else {
try {
num1 = Integer.parseInt(args[0]);
num2 = Integer.parseInt(args[1]);

} catch (Exception ex) {
System.out.println("Arguments must be an integers");
System.exit(1);
}
}
createArray(num1, num1);
}

static void createArray(int num`, int num2){
double[] a1 = new double[num1];
double[] a2 = new double[num2];

Scanner scanner = new Scanner(System.in);

for (int i=0; i<=a1.length; i++){
System.out.println(
"Please enter a double for array1[<" + i + ">] ");
double number1 = scanner.nextDouble();
a1[i] = number1;

System.out.println(
"Please enter a double for array2[<" + i + ">] ");
double number2 = scanner.nextDouble();
a2[i] = number2;
}
}

关于Java 数组(在 JRE 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19918825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com