Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“java编程给予”;符号错误“;_Java - Fatal编程技术网

“java编程给予”;符号错误“;

“java编程给予”;符号错误“;,java,Java,我是编程新手,所以我不能真正理解这个问题。这就是错误: java:15:错误:找不到符号 如果(cc=aa+b*b) ^符号:变量c 地点:pyth级 首先,语法非常重要。保持缩进。使代码更易于阅读和理解,并有助于维护。 代码中的错误: int c=n-a-bc正在if比较中使用。所以需要事先申报。类似地,intb也必须事先声明,以便在if语句中使用 如果(c*c=a*a+b*b)=是赋值运算符。使用==进行比较。并使用更多的括号来消除歧义 此外: System.out.println(a+',

我是编程新手,所以我不能真正理解这个问题。这就是错误:

java:15:错误:找不到符号 如果(cc=aa+b*b)

^符号:变量c

地点:pyth级


首先,语法非常重要。保持缩进。使代码更易于阅读和理解,并有助于维护。

代码中的错误:

  • int c=n-a-bc正在if比较中使用。所以需要事先申报。类似地,
    intb
    也必须事先声明,以便在if语句中使用

  • 如果(c*c=a*a+b*b)
    =
    是赋值运算符。使用
    ==
    进行比较。并使用更多的括号来消除歧义

  • 此外:

    System.out.println(a+','+b+','+c+',');这本身不是一个错误,但最好使用
    ,“

    这应该有效:

    import java.util.Scanner;
    
    class pyth{
        public static void main(String[] args) {
            System.out.println("enter n");
            Scanner in=new Scanner(System.in);
            int n=in.nextInt();
            {
                for(int a=1;a>n;a++) {
                    for(int b=a+1;b>n;b++) {
                        int c=n-a-b ;
                    }
                    if(c*c=a*a+b*b) {
                        System.out.println(a+','+b+','+c+',');
                    }
                }
            }
        }
    }
    

    不能将一个表达式的结果指定给另一个表达式。应该是
    =

    好的,编译错误的问题是变量的作用域

    您在for块内定义了int c=n-a-b,但在该块外无法访问它

    类似地,变量b在块外部是不可访问的

                if(c*c=a*a+b*b) {
                      ^--- assignment
    
    因为它的作用域在循环的末尾结束

    另外,在检查相等性的地方,应该使用==而不是用于赋值的=

    我不确定您想通过代码做什么,但代码应该如下所示:

     for (int b = a + 1; b > n; b++) {
        c = n - a - b;
     }
    

    希望有帮助。如果这个答案对您有帮助,请接受。

    不要更改一个字符,甚至不要麻烦指出您更改了什么。thanx,,,但它仍然显示错误:此处不允许变量声明int c=n-a-b;}因为您在for循环中再次编写了int c。此代码将起作用。我已经更新了。语法也很重要。保持缩进和适当的括号。:)但是在你的prgm中,你没有在任何地方声明c???@MarcB我只是先发布了解决方案,以帮助他尽快完成,然后我编辑并添加了所有信息,使我的答案更好。这是我一直遵循的方法。:)您使用的
    c
    超出了其范围。可能将
    if
    移动到
    for
    语句上方的
    for循环
    中无法访问的
    c
    中;您在
    if
    语句中使用赋值
    =
    ,而您应该使用
    =
    ,因为它比较;您有两个无限循环:都是
    for
    语句,这是
    ,而a大于n增量a
    ,与
    b
    相同。
     for (int b = a + 1; b > n; b++) {
        c = n - a - b;
     }
    
    import java.util.Scanner;
    
    public class pyth {
        public static void main(String[] args) {
            System.out.println("enter n");
            Scanner in = new Scanner(System.in);
            int n = in.nextInt();
            int c = 0, a=0, b=0;
    
            for (a = 1; a > n; a++) {
                for (b = a + 1; b > n; b++) {
                    c = n - a - b;
                }
                if ((c * c) == (a * a) + (b * b))
                    System.out.println(a + ',' + b + ',' + c + ',');
            }
        }
    }