Java随机产生10个1到100的整数,存到一维数组中冰找出最大数及其所在的索引
时间: 2023-04-09 12:02:42 浏览: 113
你好,这是一个可以回答的问题。以下是Java代码实现:
```java
import java.util.Random;
public class Main {
public static void main(String[] args) {
int[] arr = new int[10];
Random random = new Random();
for (int i = 0; i < arr.length; i++) {
arr[i] = random.nextInt(100) + 1;
}
int max = arr[0];
int index = 0;
for (int i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
index = i;
}
}
System.out.println("最大数为:" + max + ",所在索引为:" + index);
}
}
```
希望能对你有所帮助。
相关问题
java使用数组:定义一个int型的一维数组,数组的长度由键盘输入,为数组中的元素随机赋值,依次完成如下功能:输出数组中的元素,每行输出5个数字,数字之间用空格键分隔;计算数组中元素之和并输出;求出数组中元素的最大值及其位置
在Java中,你可以通过以下步骤来定义、初始化以及操作一个动态长度的整数一维数组:
1. 定义数组:
```java
import java.util.Scanner;
import java.util.Random;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数组的长度:");
int length = scanner.nextInt();
int[] array = new int[length]; // 定义数组
}
}
```
2. 随机赋值:
```java
Random random = new Random();
for (int i = 0; i < array.length; i++) {
array[i] = random.nextInt(); // 生成0到Integer.MAX_VALUE之间的随机数
}
```
3. 输出数组:
```java
System.out.println("数组元素:");
for (int i = 0; i < array.length; i += 5) { // 每5个元素一组
for (int j = i; j < Math.min(i + 5, array.length); j++) {
if (j != i) System.out.print(" ");
System.out.print(array[j]);
}
System.out.println(); // 换行
}
```
4. 计算数组元素之和:
```java
int sum = 0;
for (int num : array) {
sum += num;
}
System.out.println("数组元素之和: " + sum);
```
5. 找最大值及其位置:
```java
int max = array[0];
int maxIndex = 0;
for (int i = 1; i < array.length; i++) {
if (array[i] > max) {
max = array[i];
maxIndex = i;
}
}
System.out.println("数组中的最大值是:" + max + ",位置在索引 " + maxIndex);
```
以上就是在Java中操作一维数组的基本示例。记得运行`main()`方法来获取用户输入,并显示结果。
.练习二维数组 定义一个5X5的二维数组。 然后使用随机数填充该二维数组。 找出这个二维数组里,最大的那个值,并打印出其二维坐标 0-100的 随机整数的获取办法有多种,下面是参考办法之一: (int) (Math.random() * 100) Math.random() 会得到一个0-1之间的随机浮点数,然后乘以100,并强转为整型即可。
好的!以下是实现你要求的代码:
```java
import java.util.Random;
public class HelloWorld {
public static void main(String[] args) {
int[][] matrix = new int[5][5];
// 填充二维数组
Random random = new Random();
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
matrix[i][j] = random.nextInt(101); // 生成0-100之间的随机整数
}
}
// 找出最大值及其坐标
int max = matrix[0][0];
int row = 0;
int col = 0;
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
if (matrix[i][j] > max) {
max = matrix[i][j];
row = i;
col = j;
}
}
}
// 打印二维数组
System.out.println("二维数组:");
for (int[] rowArr : matrix) {
for (int num : rowArr) {
System.out.print(num + " ");
}
System.out.println();
}
// 打印最大值及其坐标
System.out.println("最大值:" + max);
System.out.println("坐标:[" + row + "][" + col + "]");
}
}
```
首先,我们创建一个大小为5x5的二维数组`matrix`。
然后,使用嵌套循环遍历二维数组,将每个位置的元素设置为0-100之间的随机整数。
接下来,我们初始化`max`为二维数组中的第一个元素,然后遍历整个二维数组,如果找到比`max`更大的元素,则更新`max`值,并记录其行和列的索引。
最后,我们使用嵌套循环打印二维数组的每个元素,并打印出最大值和其对应的行列坐标。
希望对你有所帮助!如果还有其他问题,请随时提问。
阅读全文