处理java项目并遇到困难时,第二个if语句会出现多个错误,声称}不是方法的正确开头,而else没有if语句。被困在这几个小时。 : - /
import java.util.Scanner;
public class Practice_4_4
{
public static void main(String[]args)
{
Scanner scan = new Scanner(System.in);
int x;
int y;
int coordinate;
System.out.print("Enter the X coordinate: ");
x = scan.nextInt();
System.out.print("Enter the Y coordinate: ");
y = scan.nextInt();
if (x == 0 && y == 0)
System.out.print("(0,0) is the origin");
else if (x > 0 || x < 0 && y == 0)
System.out.print("(" + x + ",0) is on the X axis");
else if (y > 0 || y < 0 && x == 0)
}
}
答案 0 :(得分:1)
请注意,if条件必须后跟代码语句或块,并且只有if条件为true时才会调用此语句或块。您的上一个else if...
之后没有任何语句或代码块。
所以这句话:else if (y>0 || y<0 && x==0)
后面应该跟一些代码块,如果该语句为真则调用它。例如:
else if (y>0 || y<0 && x==0) {
// this block is called if the condition is true.
}
顺便说一句,请注意良好的代码格式化可以帮助您进行调试和草率格式化,特别是草率的缩进,恰恰相反。对清洁和定期缩进做一点努力将大大有助于您更好地调试代码。
因此改进的格式看起来像......
import java.util.Scanner;
public class Practice_4_4 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int x;
int y;
int coordinate; // what are you going to do with this variable?
System.out.print("Enter the X coordinate: ");
x = scan.nextInt();
System.out.print("Enter the Y coordinate: ");
y = scan.nextInt();
if (x == 0 && y == 0) {
System.out.print("(0,0) is the origin");
} else if (x > 0 || x < 0 && y == 0) {
System.out.print("(" + x + ",0) is on the X axis");
} else if (y > 0 || y < 0 && x == 0) {
// you need this block here
}
}
}
另外,在编程教育的这个阶段,你应该强烈考虑将所有 if语句,else语句,for循环,while循环,任何类型的循环括起来,所有这些都带有花括号,所以它们被包含在代码块中。这样做可以防止将来出现错误,你会添加一行代码,认为它是由一个if布尔条件控制的,实际上并非如此。
答案 1 :(得分:0)
class IfElse {
public static void main(String[] args) {
int x1=0, y1=0, x2=1, y2=1, x3=1, y3=0, x4=0, y4=1;
// 0, 0 is origin
// 1, 1 is quadrant
// 1, 0 is X axis
// 0, 1 is Y axis
ifElse(x1, y1);
ifElse(x2, y2);
ifElse(x3, y3);
ifElse(x4, y4);
}
public static void ifElse(int x, int y) {
if(x == 0 && y == 0)
System.out.println("point is on origin...");
else {
if(x == 0)
System.out.println("point is on Y axis...");
else if(y == 0)
System.out.println("point is on X axis...");
else
System.out.println("point is in a quadrant...");
}
}
}
答案 2 :(得分:0)
没有问题,因为你是Java编程语言的新手。伙计,只是听我说,在最后的其他地方,如果阻止你没有任何东西,最后如果阻止是无用的。您可以修复它:
else if (y > 0 || y < 0 && x == 0){
System.out.println(“Something!”);
}
我希望,它对你有用!祝你好运,我的java朋友; - )