【发布时间】:2023-01-30 22:55:58
【问题描述】:
我制作了一个内部类及其构造函数。在函数 func() 中,我将电池和时间的值传递给用户使用扫描仪输入的构造函数,并且多次调用此函数。我想比较用户使用该类输入的电池的不同值对象,然后打印它们。假设 func 被调用了 4 次,我每次都传递不同的电池值。我想检查它们之间的差异是否大于 1.. 如果是,则打印该电池值。例如:第一次通话- (98,2) 第二次通话-(97,4) 第三次通话(95,9) 第四次通话(94,11) 。这里第二次和第三次通话的电池电量之间的差异大于 1,所以我必须打印初始的,即第二次通话电池电量及其相应的时间。我该如何编码?
public class Out
{
Scanner sc=new Scanner(System.in)
class in
{
int x,int y;
in(int x,int y)
{
this.x=x;
this.y=y;
}
}
in obj=new in(0,0);//call this obj inside func
public void func()
{
int battery=sc.nextInt();
int time=sc.nextInt();
in inner=new in(battery,time);
}
我不能使用数组列表,因为 func() 将被调用一千多次,以避免内存浪费。我制作了一个值为 0,0 的对象 obj 。我会将obj的电池值与in的电池值进行比较(比较电池值的差异是否大于1,如果是则打印之前的电池值)然后将obj的电池值更新为电池的当前值(通过用户)..
【问题讨论】:
-
您可以仅跟踪电池的最大值和最小值(以及它们发生的时间),并将当前值与它们进行比较
标签: java class object constructor