我目前正在学习Java,并在此基础上完成练习;然而,我在其中一次演习中面临着一个具体问题。任务描述如下:
位置的元素
给定一个矩阵";n×;包含数字a 0到n2-1,返回位于正确位置的元素数。
例如,给定一个矩阵3x3:
4 2 6 0 8 5 7 1 3
每个数字的正确位置显示在以下矩阵中:
0 1 2 3 4 5 6 7 8
软件,有第一个矩阵作为输入,应该打印值1,因为只有5在正确的位置。但现在我已经把正确位置的元素数量改为两个,应该打印两个,但我得到了1。我不知道如何将1和1相加得到两个。
public class HelloWorld {
public static void main(String[] args) {
// Prints "Hello, World" to the terminal window.
System.out.println("Hello, World");
int[] arr = {4,2,6,0,8,5,7,1,8};
for(int i = 0; i < arr.length ; i++) {
int count = 0;
if (arr[i] == i) {
count++;
System.out.println(+ count);
您已经在for循环中声明了count变量,并在循环中打印结果。以下是正确的代码-
public class HelloWorld {
public static void main(String[] args) {
// Prints "Hello, World" to the terminal window.
System.out.println("Hello, World");
int[] arr = {4,2,6,0,8,5,7,1,8};
int count = 0;
for(int i = 0; i < arr.length ; i++) {
if (arr[i] == i) {
count++;
}
}
System.out.println(count);
}
}