Divisor.java
com.mojang.math.Divisor
信息
- 全限定名:com.mojang.math.Divisor
- 类型:public class
- 包:com.mojang.math
- 源码路径:src/main/java/com/mojang/math/Divisor.java
- 起始行号:L7
- 实现:IntIterator
- 职责:
TODO
字段/常量
-
denominator- 类型:
int - 修饰符:
private final - 源码定位:
L8 - 说明:
TODO
- 类型:
-
quotient- 类型:
int - 修饰符:
private final - 源码定位:
L9 - 说明:
TODO
- 类型:
-
mod- 类型:
int - 修饰符:
private final - 源码定位:
L10 - 说明:
TODO
- 类型:
-
returnedParts- 类型:
int - 修饰符:
private - 源码定位:
L11 - 说明:
TODO
- 类型:
-
remainder- 类型:
int - 修饰符:
private - 源码定位:
L12 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public Divisor(int numerator, int denominator) @ L14
- 构造器名:Divisor
- 源码定位:L14
- 修饰符:public
参数:
- numerator: int
- denominator: int
说明:
TODO
方法
下面的方法块按源码顺序生成。
public boolean hasNext() @ L25
- 方法名:hasNext
- 源码定位:L25
- 返回类型:boolean
- 修饰符:public
参数:
- 无
说明:
TODO
public int nextInt() @ L30
- 方法名:nextInt
- 源码定位:L30
- 返回类型:int
- 修饰符:public
参数:
- 无
说明:
TODO
public static Iterable<Integer> asIterable(int numerator, int denominator) @ L47
- 方法名:asIterable
- 源码定位:L47
- 返回类型:Iterable
- 修饰符:public static
参数:
- numerator: int
- denominator: int
说明:
TODO
代码
public class Divisor implements IntIterator {
private final int denominator;
private final int quotient;
private final int mod;
private int returnedParts;
private int remainder;
public Divisor(int numerator, int denominator) {
this.denominator = denominator;
if (denominator > 0) {
this.quotient = numerator / denominator;
this.mod = numerator % denominator;
} else {
this.quotient = 0;
this.mod = 0;
}
}
@Override
public boolean hasNext() {
return this.returnedParts < this.denominator;
}
@Override
public int nextInt() {
if (!this.hasNext()) {
throw new NoSuchElementException();
} else {
int next = this.quotient;
this.remainder = this.remainder + this.mod;
if (this.remainder >= this.denominator) {
this.remainder = this.remainder - this.denominator;
next++;
}
this.returnedParts++;
return next;
}
}
@VisibleForTesting
public static Iterable<Integer> asIterable(int numerator, int denominator) {
return () -> new Divisor(numerator, denominator);
}
}引用的其他类
- 无