当前位置: 首页 > 知识库问答 >
问题:

错误消息“操作员”

东深
2023-03-14
public class LargestEven {
public int largestEven(int x, int y, int z) {
    if(x % 2 = 0 && x > y && x > z) {
        return x;
    } else if (y % 2 = 0 && y > x && y > z) {
        return y;
    } else if (z % 2 = 0 && z > x && z > y) {
        return z;
    } else {
        return 0;
    }
}
public static void main(String[] args) {
    LargestEven l = new LargestEven();
    System.out.println(l.largestEven(1, 3, 5)); //prints 0
    System.out.println(l.largestEven(2, 4, 9)); //prints 4
    System.out.println(l.largestEven(2, 1001, 1003)); //prints 2
    }
}

我必须做一个程序,找到最大的偶数3给定的数字。然而,我似乎无法让它工作,因为我一直收到这个错误消息。我到底做错了什么?

对于初学者的问题,我很抱歉,但我以前从未见过这个错误消息,也不知道它意味着什么,也不知道如何修复它。

提前谢谢你。

共有3个答案

武峻熙
2023-03-14

ifelse if语句中,您有以下几行:

x % 2 = 0

试试把它改成这样

x % 2 == 0 // Multiple ==

单个=用于赋值,如下所示:

int i = 0;

两个==用于比较,比如在ifelse if中:

if (i == 0){
    ...
}

if中的语句是布尔值。这将完全相同,但首先将其分配给布尔值

boolean x = (i == 0);
if (x){ // OR if (x == true){
    ...
}

我希望现在差别已经很明显了。我还建议大家多了解一下Java或编程的基本知识。

蒋俊
2023-03-14

你必须检查个体的偶数和奇数条件,以及每个条件的分组,然后检查最大值和返回值。

public  int largestEven(int x, int y, int z) {

     if (x % 2 == 0 && (y%2!=0 && z%2!=0)) {

         return x;
     }else if(y%2==0 && (x%2!=0 && z%2!=0) ){

         return y;
     }else if(z%2==0 && (x%2!=0 && y%2!=0) ){

         return z;
     }else if(x%2==0 && y%2==0 && z%2!=0){

         return x>y?x:y;
     }else if(x%2==0 && z%2==0 && y%2!=0){

         return x>z?x:z;
     }else if(y%2==0 && z%2==0 && x%2!=0){

         return y>z?y:z;
     }else if(x%2==0 && y%2==0 && z%2==0  ){

         return x > y ? (x > z ? x : z) : (y > z ? y : z) ;
     }else{
         return 0;
     }

}

public static void main(String[] args) {

        System.out.println(largestEven(6, 3, 4)); //prints 6
        System.out.println(largestEven(2, 4, 8)); //prints 8
        System.out.println(largestEven(2, 1006, 1003)); //prints 1006

  }
颜志业
2023-03-14

你得用==来比较

if (x % 2 == 0 && x > y && x > z) {
    return x;
} else if (y % 2 == 0 && y > x && y > z) {
    return y;
} else if (z % 2 == 0 && z > x && z > y) {
    return z;
} else {
    return 0;
}
 类似资料:
  • 问题内容: 我尝试运行以下语句: 据我所知,应该将temp_cheques中的每个记录插入到VOUCHER中,并将ID和DENOMINATION字段与BOOK表中的条目相对应(temp_cheques来自数据库备份,我正在尝试以其他格式重新创建)。但是,当我运行它时,出现错误: 我正在SQuirrel中运行此程序,而其他任何查询都没有问题。我的查询语法有问题吗? 编辑: BOOK的结构为: tem

  • 在本章中,我们将讨论在使用SLF4J时获得的各种错误消息或警告以及这些消息的原因/含义。 无法加载类“org.slf4j.impl.StaticLoggerBinder”。 这是在类路径中没有提供SLF4J绑定时引起的警告。 以下是完整的警告 - 要解决此问题,需要添加任一日志框架绑定。本教程上一小节对此进行了解释说明。 注 - 这种情况发生在SLF4J的版本中,介于1.6.0和1.8.0-bet

  • 问题内容: 这是我的代码片段: 这应该给我一个错误,因为这些表甚至不存在。但是我得到的是: 数组([0] => 00000) 如何获得对该错误的更好描述,以便可以调试问题? 问题答案: 尝试以下方法: 在准备之前添加以下内容: 这将更改PDO错误报告类型,并在出现PDO错误时使其发出警告。尽管应该设置您的errorInfo,但它应该可以帮助您进行跟踪。

  • 我正在使用Eclipse将json隐藏到Java中的字符串中。但我一直收到: 有人能告诉我json有什么问题吗?我如何改变它使其有效?我对java和json相当陌生,如果我错过了任何应该包括的细节,我很抱歉。

  • 问题内容: 我正在运行用于Firefox的Selenium Webdriver(最新版本)。每次开始测试时,我都会从Windows本身收到一条错误消息,指出Firefox崩溃了。当我按下“强制关闭”按钮时,测试将按原样开始。 我是Eclipse和Selenium的新手,但是在调试器模式下,我没有找到有问题的代码(这么多线程同时运行)。.并没有尝试查找Windows日志,但是也许有些人知道解决方案我

  • 这个问题已经问了好几次了,我跟着这些问题试图解决这个问题。该项目成功构建并运行了几个小时前我关闭了电脑。这个问题让我抓狂,请帮助。 留言: build.gradle: 请帮忙。