我写的程序
public class Angle{
int deg1,deg2, min1,min2;
void accept()throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter the angle parameters degree fb minute fb next degree");
deg1= Integer.parseInt(br.readLine());
min1= Integer.parseInt(br.readLine());
deg2= Integer.parseInt(br.readLine());
min2= Integer.parseInt(br.readLine());
}
int anglesum(int a,int b,int x, int y)
{
int m= (int)(b+y)/60;
int s=a+x+m;
return(s);
}
void main()throws IOException
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
Angle abc=new Angle();
abc.accept();
int e=abc.anglesum(deg1,min1,deg2,min2);
System.out.println("The sum is ="+e+" degrees "+(min1+min2-60)+" minutes");
}
它在通过对象分别调用函数时接受值,但在运行main函数时不接受。可能是什么问题?
答案 0 :(得分:0)
您的问题是您正在调用方法main
,它是对象Angle
的方法,而您正在创建另一个类型为Angle
的对象的实例
您可以更改int e=abc.anglesum(deg1,min1,deg2,min2);
至
int e=abc.anglesum(abc.deg1, abc.min1, abc.deg2, abc.min2);
然后你可能得到你想要的结果。
System.out.println("The sum is ="+e+" degrees "+(abc.min1 + abc.min2-60)+" minutes");
1)您应该移动方法main,使其不属于对象Angle
2)您可以在Angle
int anglesum() { return anglesum(deg1,min1,deg2,min2); }
然后你可以调用你的主要方法(它将不再是Angle
的一部分):
abc.accept();
int e=abc.anglesum();