gpt4 book ai didi

java - 为什么我的 if 语句不能与 (red || green || blue) > 255 一起使用

转载 作者:行者123 更新时间:2023-12-01 18:23:17 25 4
gpt4 key购买 nike

这是我的代码:

import java.util.Scanner;
public class RGBColor
{
// instance variables
private int _red;
private int _green;
private int _blue;
/**
* Constructor for objects of class RGBColor
*/
public RGBColor()
{
// initialise instance variables
_red=_green=_blue=0;
}
public RGBColor(int red, int green, int blue)
{
if(((red || green || blue) > 255) || ((red || green || blue) < 0))
red=_green=_blue=0;
else
{
_red = red;
_green = green;
_blue = blue;
}
}
public RGBColor(RGBColor other)
{
System.out.print("Please enter 3 integers which will represent colors: ");
System.out.println("First one, RED.");
Scanner getColors = new Scanner(System.in);
System.out.println("Second one, GREEN.");
Scanner getGreen = new Scanner(System.in);
System.out.println("Third one, BLUE.");
Scanner getBlue = new Scanner(System.in);



}
public int getRed()
{
return _red;
}
public int getGreen()
{
return _green;
}
public int getBlue()
{
return _blue;
}
public void setRed(int num)
{
if(((red || green || blue) > 255) || ((red || green || blue) < 0))
break;
else
_red = num;
}
public void setGreen(int num)
{
_green = num;
}
public void setBlue(int num)
{
blue_ = num;
}
}

我在这行遇到问题:

if(((red || green || blue) > 255)  || ((red || green || blue) < 0))

二元运算符 || 的操作数类型错误。有什么想法如何修复它吗?我的代码非常简单,所以我相信我不需要解释任何东西。我只是不明白为什么我无法检查整数是否大于 255,例如提前致谢!

最佳答案

您需要单独测试每个变量:

if(red > 255 || green > 255 || blue > 255 || red < 0 || green < 0 || blue < 0)

但是,为了获得好的代码,我会编写一个函数:

private static boolean anyNotValid(int... values) {
for(int i: values) {
if(i < 0 || i > 255) return true;
}
return false;
}

...您可以将其称为:

if(anyNotValid(red, green, blue)) 

关于java - 为什么我的 if 语句不能与 (red || green || blue) > 255 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27035605/

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