gpt4 book ai didi

java - Java 中的错误消息帮助

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

关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

7年前关闭。




Improve this question




我正在开发一个程序,该程序应该读取员工小时数文件,将该文件存储在二维数组中,打印该二维数组,然后打印每个员工的总小时数。这有点含糊,我知道,但我的问题更多在于我不断收到的这条错误消息,而不是程序本身。这是我的代码

import java.util.Scanner;

public class Program2 {
public static void main(String[] args) {
int employeeNum;
int i;
int j;
int empId;
int days;
int[][] hoursArray = new int[employeeNum][7];
int[] totalHours = new int[hoursArray.length];
int[] indexList = new int[totalHours.length];

java.io.File file = new java.io.File("../instr/prog2.dat");
Scanner fin = new Scanner(file);
employeeNum = fin.nextInt();
for(empId = 0; empId < employeeNum;
empId++)
for(days = 0; days < 7; days++)
hoursArray[empId][days] = fin.nextInt();
System.out.println(hoursArray[empId][days]);

for(i = 0; i < hoursArray.length; i++) for(j = 0; j < hoursArray[i].length; j++)
totalHours[i] += hoursArray[i][j];

sortIndex(totalHours.length, indexList);

for (int index = totalHours.length - 1; index >= 0; index--)
System.out.println("Employee " + indexList[index] + ": "
+ totalHours[index]);
}

static void sortIndex(int[] list, int[] indexList) {
int max;
int maxIndex;
int i;
int j;
for(i = 0; i < indexList.length; i++)
indexList[i] = i;

for(i = list.length - 1; i >= 1; i--) {
max = list[i];
maxIndex = i;

for(j = i - 1; j >= 0; j--)
if(max < list[j]) {
max = list[j];
maxIndex = j;
}
}

if(maxIndex != i) {
list[maxIndex] = list[i];
list[i] = max;

int temp = indexList[i];
indexList[i] = indexList[maxIndex];
indexList[maxIndex] = temp;
}
}
}

我不断收到错误消息:
"The method sortIndex(int[], int[]) in the type Prog2 is not applicable for the arguments (int, int[])"
在这部分代码:
sortIndex(totalHours.length, indexList);

我以前从未遇到过这个错误,也不知道如何解决它。这个特殊的作业是书中的一个变体,它有一个为其编写的程序,但书中的问题不涉及文件。我们的教授说这应该很简单,因为我们基本上可以在书中输入确切的程序,只需要编写代码来读取文件的输入。所以我遇到问题的这部分代码直接来自书中,所以我不知道我应该做什么来修复它。请帮忙。

最佳答案

错误是不言自明的:

方法void sortIndex(int[] list, int[] indexList)需要两个一维数组作为输入,但是在调用它时,您将第一个参数作为 totalHours.length 发送,它是数组的长度和一个 int 值,而不是一个 int 一维数组。

sortIndex(totalHours.length, indexList);

看来您需要调用:
   sortIndex(totalHours, indexList);

因为 totalHours 是一维数组。

关于java - Java 中的错误消息帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24751438/

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