我刚刚开始学习Java,我知道我的代码很丑,所以不要介意丑。 因此,对于学校来说,我必须使用Java编写一个程序,以检查输入的坐标中的颜色。我被分配了这张图片http://prntscr.com/kt8jyh
我写了一些代码,但是每当我写2; 2之类的坐标时,它就会输出红色,我该如何解决。
而且我不确定这是如何工作的,但是我需要程序在没有坐标的情况下输出“白色”。每当我尝试
其他
System.out.println(“白色”)
它不起作用,我得到一个错误消息,指出“线程“主”中的异常” java.lang.Error:未解决的编译问题:
令牌“ else”上的语法错误,请删除此令牌”
Scanner a = new Scanner(System.in);
Scanner b = new Scanner(System.in);
System.out.println("Ievadi x");
String x1 = a.nextLine();
System.out.println("ievadi y");
String y1 = b.nextLine();
float x = Float.parseFloat(x1);
float y = Float.parseFloat(y1);
if (x>=6 && x<=8 || y>=2 && y<=4)
System.out.println("Red");
else if (x>=3-x && x<=x-11 || y<=4 && y>=9) {
System.out.println("blue");
}
else if ((x-7) + (x-7) + (y-9) + (y-9) == 25) {
System.out.println("Green") ;
System.out.println("white");
}
答案 0 :(得分:0)
在此代码中
else if ((x-7) + (x-7) + (y-9) + (y-9) == 25) {
System.out.println("Green") ;
// you can't put else here because it is inside a { } block
System.out.println("white");
}
您可以做的就是关闭该块并开始一个新的块。
else if ((x-7) + (x-7) + (y-9) + (y-9) == 25) {
System.out.println("Green") ;
} else {
System.out.println("white");
}
或不使用{}块
else if ((x-7) + (x-7) + (y-9) + (y-9) == 25)
System.out.println("Green") ;
else
System.out.println("white");
答案 1 :(得分:0)
当您只有一条语句时,您实际上不必使用方括号,并且可以像下面这样将else语句添加到末尾
if( x >= 6 && x <= 8 && y >= 2 && y <= 4 )
System.out.print("Red");
else if( (x >= 2 && x <= 12 && y >= 4 && y <= 9 ) && ( (x <= 7 && y >= x ) || ( x > 7 && y <=x ) ) )
System.out.print("Blue");
else if ( ( y >= 9 && y <=14 && x >= 2 && x <= 12 ) && ( y*y - (x-2)*(x-2) <= 5*5 ) )
System.out.print("Green");
else
System.out.print("White");