当我尝试编译这段代码时,Eclipse会出现以下两个错误:
>
用于maxmin
函数:maxmin的非法修饰符;只允许最终
对于Mn
:Mn不能解析为变量
为什么会出现这两个错误?
我想这可能已经回答了这个问题,但我不明白其中使用的术语。
这是我的代码:
public static int maxmin(int [][]B, int ver) {
if (ver == 1) { // max operation
int M = 0;
for (int m = 1; m < 3; m++){
for (int n = 1;n < 3; n++){
if (M < B[m][n]){
M = B[m][n];
}
}
}
return M;
} else if (ver == 2) { // min operation
int Mn=10;
}
for (int m = 1; m < 3; m++) {
for (int n = 1; n < 3; n++) {
if (Mn > B[m][n]) {
Mn = B[m][n];
}
}
}
}
return Mn;
}
public static int maxmin(int[][] B, int ver) {
if (ver == 1) {// max operation
int M = 0;
for (int m = 1; m < 3; m++) {
for (int n = 1; n < 3; n++) {
if (M < B[m][n]) {
M = B[m][n];
}
}
}
return M;
} else if (ver == 2) {// min operation
int Mn = 10;
for (int m = 1; m < 3; m++) {
for (int n = 1; n < 3; n++) {
if (Mn > B[m][n]) {
Mn = B[m][n];
}
}
}
return Mn;
} else {
throw new IllegalArgumentException("invalid ver, must be 1 or 2");
}
}
Mn
变量在else if
块中定义。因此,当您在for循环中访问它时,它找不到它的声明。Insetad应该在方法开头移动声明int Mn=0
,并在else if中将其分配给10
给定一个0和1的数组,我们最多可以将K个值从0更改为1。 返回仅包含1的最长(连续)子数组的长度。 例1: 例2: 注: https://leetcode.com/problems/max-consecutive-ones-iii/ 这是问题链接。在第一个测试用例中,我得到了输出9,但应该是6。我不知道哪里出了问题?
抱歉,如果不允许这样做。这是我第一次问问题。无论如何,我应该实现一个程序,根据文本读取等级。 “实施一个程序,根据以下内容计算理解某些文本所需的大致年级水平。文本:恭喜!今天是你的一天。你要去很棒的地方!你走了,走了!3 年级 在完成代码之后。每次我编译它时,它都会给我一个异常,即我除以零。几乎就像在我要求用户输入文本后,它根本不被读取,字母计数保持在零。我不知道如何绕过它。下面是我导入java.
所以我需要为学校编写一个Java程序:它需要用户想要多少(IQ)值,然后调用一个computeMethod来计算这些值,然后生成一个输出,但有一个数字格式的Exception,我不知道它是从哪里来的。以下是我认为给我带来例外的方法: main方法只接受一个字符串,并让它计算它将在哪里被分隔成数字,然后将数字存储在一个int数组中。 此外,模态是数据中出现次数最多的元素。 (很抱歉,我刚从IDE复制
我拿不到输出。。有人能帮我得到输出吗 下面给出了程序运行的示例(注意:下面的粗体文本是用户输入的输入): 输入三角形的三条边
我已经调试这段代码好几个小时了,试图让输出正确无误。它在早期工作,但输出中存在逻辑错误,因此我进入并在输出函数中添加了循环和一个额外参数。 现在g给我以下错误: Student.cpp:在成员函数“void Student::input data(std::string,int,STD::string 如何修复此代码?:
我遇到了一些问题,AppEngine抱怨我的代码有Java1.8方法,而AppEngine需要Java1.7。下面是错误跟踪。我不知道该怎么修理它。