gpt4 book ai didi

java - 数组 : Location of certain Values Inputed

转载 作者:行者123 更新时间:2023-12-01 10:03:11 25 4
gpt4 key购买 nike

所以我想输出某个值在数组中的位置。如何输出数组值的位置? (代码后的示例):

public class Journal5b {

public int[] [] createArray (int rSize , int cSize)
{
int [] [] array = new int [rSize][cSize];
Random r = new Random();
for (int[] array1 : array) {
for (int column = 0; column < array[0].length; column++) {
array1[column] = r.nextInt(26);
}
}

return array;
}

public void print2DArray (int [] [] array)
{
for (int[] array1 : array) {
for (int column = 0; column < array[0].length; column++) {
System.out.print(array1[column] + "\t");
}
System.out.println("\n");
}
}

public int countInstance (int [] [] array, int searchForNum)
{
int count = 0;

for (int row = 0; row < array.length; row++)
{
for (int column = 0; column < array[0].length; column++) {
if (array[row][column] == searchForNum) {

count++;
}
}
}
return count;
}

public static void main(String[] args)
{
Scanner in = new Scanner (System.in);
int [] [] myArray;
Journal5b j5b = new Journal5b();
myArray = j5b.createArray(10, 10);
j5b.print2DArray(myArray);

int val;
System.out.println("Enter the number to search for ");
val = in.nextInt();
System.out.println("Your Number popped up " + j5b.countInstance(myArray, val) + " times");
}
}

所以输出看起来像这样:

22  20  12  25  10  8   3   4   12  25  

11 24 0 7 3 21 23 9 23 11

22 18 10 24 11 13 0 25 8 18

7 14 0 5 11 12 9 22 0 16

14 11 12 4 16 3 20 22 18 25

8 24 12 6 25 4 3 16 10 23

23 11 8 12 19 15 3 25 12 6

10 3 5 22 11 7 0 7 4 4

18 1 14 23 7 13 9 9 12 9

20 10 6 14 13 1 9 15 0 3

Enter the number to search for
10
Your number popped up 5 times and is located on row 0,2,5,7, 9

如果有意义的话,我如何输出我想要输出的内容...我正在尝试添加到 countInstance 并找到每行输入的特定数字的位置。

我已经完成了大部分代码,但是我在这部分代码上遇到了困难。我找不到下一步。我想添加 is located on row 0,2,5,7, 9

最佳答案

是的,我现在明白了,抱歉,我不得不完全重构您的代码。

public class Journal5b {

private int[] rowSpotted;//variable to keep rows of searched number
private int[][] arrayToBeSearched;

public class Journal5b (int rows, int columns) {

rowSpotted = new int[rows];
arrayToBeSearched = new int[rows][columns];
this.createArray();
this.print2dArray();
}

private void createArray() {
Random r = new Random();
for (int[] array1 : arrayToBeSearched) {
for (int number: array1) {
number = r.nextInt(26);
}
}
}

//I removed the array local variable array so that you won't have to keep passing it as an argument, It's now an instance variable.
//You can also use a for each loop to populate the inner array, no need to use the for loop.

public void print2DArray () {
for (int[] array1 : arrayToBeSearched) {
for (int num: array1) {
System.out.print(num + "\t");
}
System.out.println("\n");
}
}

//just prints the array to be searched.

public int countInstance (int searchForNum) {
int count = 0;

for (int row = 0; row < arrayToBeSearched.length; row++) {
for (int column = 0; column < arrayToBeSearched[0].length; column++) {
if (arrayToBeSearched[row][column] == searchForNum) {
rowSpotted[count] = row; //if the number is found put the row number into the row
count++;
}
}
}
return count;
}

public void printRowSpotted() {
for(int num : rowSpotted ) {

System.out.print(num + ',');
}
}

public static void main(String[] args) {
//scanner stuff......
Journal5b jb = new Journal5b(10,10);
//get number to be searched for....
System.out.print("Your number popped up " + jb.countInstance() + ", on rows " + jb.printRowSpotted());

}

关于java - 数组 : Location of certain Values Inputed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36658708/

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