我正在编写一个java代码,计算一个数组的平均值,它很好地发挥了作用,但我想把它修改成一个2D数组(二维数组)。
import java.util.*;
public class Test3{
public static void main(String [] args){
Scanner adnan = new Scanner(System.in);
System.out.println("Enter the length of the array : ");
int length = adnan.nextInt();
int [] input = new int [length];
System.out.println("Enter Numbers : ");
for ( int i = 0; i < length; i++){
input [i] = adnan.nextInt();
}
float average = average(input);
System.out.println("Average of all numbers in the array : " + average);
adnan.close();
}
public static float average(int [] input){
float sum = 0f;
for ( int number : input){
sum = sum + number;
}
return sum / input.length;
}
}
任何帮助都将非常感谢,因为我不太擅长2D数组。
在Java中,使用双括号声明2D数组t[][]
:
public static void main(String[] args) {
// mock to not to use a stdin redirection or enter data manually
ByteArrayInputStream system_in = new ByteArrayInputStream("3 2 5 8 1 6 7 2".getBytes(UTF_8));
Scanner adnan = new Scanner(system_in);
System.out.println("Enter rows number: ");
final int rows = adnan.nextInt();
System.out.println("Enter rows number: ");
final int cols = adnan.nextInt();
final int [][] input = new int[rows][cols];
System.out.println("Enter Numbers : ");
for (int row = 0; row < rows; row++) {
for (int col = 0; col < cols; col++) {
input[row][col] = adnan.nextInt();
}
}
double average = average(input);
System.out.println("Average of all numbers in the array : " + average);
adnan.close();
}
public static double average(int[][] input) {
// use streams or you can use the `Enter Numbers...` way
return Arrays.stream(input)
.flatMap(x -> Arrays.stream(x).boxed())
.mapToInt(x -> x).average()
.getAsDouble();
}
有输出
Enter rows number:
Enter rows number:
Enter Numbers :
Average of all numbers in the array : 4.833333333333333
问题内容: 考虑: 这是如何创建具有5行10列的二维数组吗? 我在网上看到了这段代码,但是语法没有意义。 问题答案: 请尝试以下操作: …这是类似这样的缩写: 请注意,每个元素都将被初始化为默认值,,因此以上也等同于:
考虑: 这就是您创建一个5行10列的二维数组的方式吗? 我在网上看到了这段代码,但语法没有意义。
说明 支付宝境外到店支付-创建二维码 官方文档:https://global.alipay.com/service/external_QR_Code/52 类 请求参数类 请求参数 类名:\Yurun\PaySDK\AlipayCrossBorder\InStore\CreateQR\Request 属性 名称 类型 说明 $service string 接口名称 $notify_url stri
问题内容: 我想动态创建一个二维数组。 我知道列数。但是行数正在动态更改。我尝试了数组列表,但它仅将值存储在单个维度中。我能做什么? 问题答案: 由于列的数量是恒定的,你可以有一个的。 由于它以a 为后缀,因此行数可以动态增加和减少。每行都有一个,它是静态的,但是您说列数是固定的,因此这不是问题。
我该如何在Java中使用二维数组来设计这样的东西呢? 除了“name[i][j]=200;”当我把这个放进去的时候,它只印这个,其他什么也不印
问题内容: 我在构造函数中提供了带有对象的泛型类型。我想在此构造函数中创建二维数组,但是这可能吗? 问题答案: 与如何在Java中创建通用数组相同?但扩展到2D: 阅读上面JAB的注释后的注意:要扩展到更多维度,只需将[]和维度参数添加到newInstance()(cls是一个类,d1到d5是整数): 有关详细信息,请参见。