gpt4 book ai didi

java - Java错误: reached end of file while parsing (Not typical)

转载 作者:行者123 更新时间:2023-12-02 11:55:01 27 4
gpt4 key购买 nike

我正在尝试创建一种方法来查找 2 个给定数字的公因数,但我无法编译该文件。我所有的大括号都已关闭,因为我知道这通常几乎总是导致此错误的原因。希望有人能帮助我!

import java.util.Scanner;
public class E1{
public static void main (String [] args){
Scanner kb = new Scanner(System.in);
double n1,n2;

System.out.println("Enter two numbers");
n1=kb.nextDouble();
n2=kb.nextDouble();

printCommonFactors(n1,n2);
}

//call a method that prints the positive shared factors of the 2 inputed numbers

public static void printCommonFactors(int n1,int n2){

//determining the max/min of the two inputed variables

int max,min;
max=Math.max(n1,n2);
min=Math.min(n1,n2);

//setting up 2 arrays to store the factors

int [] maxFactors = new int [max];
int [] minFactors = new int [min];
int counter1;

for (inti=0;i>max;i++)
if (i%max=0)
counter1++;
maxFactors[counter1]=i;


for (int i=0;i>min;i++)
if (maxFactors[i]%min=0)
maxFactors[i]=

}
}

这是我收到的错误:

enter image description here

最佳答案

您看到“解析时已到达文件末尾”的原因是解析器希望找到等于运算符的右侧操作数,但未能做到这一点。您可以使用 maxFactors[i]= 结束您的方法。二元运算符始终需要右侧操作数。在这种情况下,您必须在等号后面放置一个值。

此外,您似乎正在尝试将一些可能从其他语言中提取的原则应用于 Java。这里最明显的一个是使用空白替换显式 block 。这适用于 Python 等语言,但不适用于 Java。缩进在Java中并不重要,只有提高可读性的作用。

这与您的 for 语句相关。因为您实际上并未使用 block ,所以这些语句实际上是等效的:

for (inti=0;i>max;i++)
if (i%max=0)
counter1++;
maxFactors[counter1]=i;

for (inti=0;i>max;i++) {
if (i%max=0) {
counter1++;
}
}
maxFactors[counter1]=i;

这将导致 i 被超出其范围引用的问题。另一个问题是 for 初始化器 (inti=0;) 缺少空格,应该是 int i = 0

其他问题包括尝试分配非整数大小的数组(必须是 int 类型)以及对 for 循环使用错误的测试表达式( >i>min 如果由于您的增量器而曾经为真,则将始终保持为真,直到达到整数溢出为止。

关于java - Java错误: reached end of file while parsing (Not typical),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47661385/

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