public class Rational{
public Rational (int numerator, denominator){
if (denominator < 0){
system.out.println("Denominator cannot be negative value. Changing rational to have positive denominator...");
denominator = -denominator;
numerator = -numerator;
}
if (denominator == 0){
system.out.println("Denominator cannot be zero, reinput denominator.");
int n = numerator;
int d = denominator;
}
}
//end of initialization
//behaviors
public Rational inverse(int n, d){
if (numerator == 0){
int temp = numerator;
numerator = denominator;
denominator = temp;
}
else system.out.println("Error, the inverse results in division by zero.");
}
public Rational simplify(int n, d){
if (n%d == 0){
return n;
}
else if (n < d){
return simplify (d, n);
}
else return simplify(d, n%d);
numerator = numerator / n;
denominator = denominator /n;
}
}
这里有新的Java学生,我在第2行,第16行和第24行遇到了“标识符期望”错误。所有这些行都是公共Rational,并且错误指向了右括号。我试过在这里查看类似的问题,但我无法弄清楚我的错误。从我看到的错误与定义块外的方法有关,但它看起来像是在我身上。任何帮助将不胜感激!
答案 0 :(得分:0)
您的计划存在以下几个问题:
您需要在函数的每个参数之前声明类型。这就是导致您收到错误消息的原因。例如,您需要:
public Rational inverse(int n, int d){
和
public Rational (int numerator, int denominator){
您需要在s
中大写System
。
您需要在numerator
课程中声明denominator
和Denominator
字段。例如:
public class Rational{
int numerator;
int denominator;