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