mirror of
https://github.com/MartinThoma/LaTeX-examples.git
synced 2025-04-26 06:48:04 +02:00
Added source files (Programmieren Tutorium)
This commit is contained in:
parent
1be8f17cc0
commit
ad81fa802b
244 changed files with 8252 additions and 0 deletions
|
@ -0,0 +1,69 @@
|
|||
/**
|
||||
* This class models the gears. It is restricted to derailleur gears.
|
||||
*
|
||||
* @author Markus Iser, Martin Thoma
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class Gears {
|
||||
public static final int MIN_FRONT_SPROCKETS = 1;
|
||||
public static final int MAX_FRONT_SPROCKETS = 3;
|
||||
public static final int MIN_REAR_SPROCKETS = 1;
|
||||
public static final int MAX_REAR_SPROCKETS = 10;
|
||||
|
||||
private int frontSprockets;
|
||||
private int rearSprockets;
|
||||
|
||||
/** Price in cents. */
|
||||
private final int price;
|
||||
|
||||
Gears(int frontSprockets, int rearSprockets, int price) {
|
||||
setSprockets(frontSprockets, rearSprockets);
|
||||
this.price = price;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the sprocket numbers. Uses default-values if consisteny criteria are
|
||||
* not met.
|
||||
*
|
||||
* @param sprockets
|
||||
* @param rearSprockets
|
||||
*/
|
||||
void setSprockets(int sprockets, int rearSprockets) {
|
||||
this.frontSprockets = sprockets;
|
||||
this.rearSprockets = rearSprockets;
|
||||
|
||||
if (!(this.frontSprockets >= 1)) { // A.1
|
||||
this.frontSprockets = 1;
|
||||
} else if (!(this.frontSprockets < 4)) { // A.2
|
||||
this.frontSprockets = 3;
|
||||
}
|
||||
|
||||
if (this.rearSprockets < 1) { // B.1
|
||||
this.rearSprockets = this.frontSprockets;
|
||||
}
|
||||
if (this.rearSprockets > 9) { // B.2
|
||||
this.rearSprockets = this.frontSprockets * 3;
|
||||
}
|
||||
|
||||
if (this.rearSprockets < this.frontSprockets) { // C.1
|
||||
this.rearSprockets = this.frontSprockets;
|
||||
} else if (this.rearSprockets > 3 * this.frontSprockets) { // C.2
|
||||
this.rearSprockets = 3 * this.frontSprockets;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the number of gears as the number of sprocket-combinations
|
||||
*/
|
||||
int getNumberOfGears() {
|
||||
return frontSprockets * rearSprockets;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the price of the gears
|
||||
*/
|
||||
int getPrice() {
|
||||
return price;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue