Class yang digunakan :
- RemoteAC Class : berisi fungsi dari remote AC yang buat seperti menaikkan temperatur, menurunkan temperatur, mengganti mode AC, dll
- ModeAC Class : berisi fungsi dari menu pilihan untuk mode AC
- mainRemote Class : menghubungkan class mainRemote dan ModeAC atau dengan kata lain fungsi untuk menjalankan Remote AC yang buat
/**
* Write a description of enum RemoteAC here.
*
* @author Bima S. Ramadhan
* @version 1.0
*/
public class RemoteAC
{
private static final String SWING_ON = "ON ";
private static final String SWING_OFF = "OFF";
private static final int MAX_TEMP_LIMIT = 30;
private static final int MIN_TEMP_LIMIT = 16;
private static final int MAX_SPEED_LIMIT = 3;
private static final int MIN_SPEED_LIMIT = 1;
private int mTemp, mSpeed;
private ModeAC mMode;
private boolean mIsSwing;
public RemoteAC() {
mMode = ModeAC.AUTO;
mSpeed = 1;
mIsSwing = false;
mTemp = 20;
}
public void tempUp() {
if(mTemp == MAX_TEMP_LIMIT) {
showError("Temperatur sudah mencapai batas maksimum");
return;
}
mTemp++;
showDisplay();
}
public void tempDown() {
if(mTemp == MIN_TEMP_LIMIT) {
showError("Temperatur sudah mencapai batas minimum");
return;
}
mTemp--;
showDisplay();
}
public void setMode(int mode){
if(mode < 1 || mode > 5) {
showError("Input yang anda masukkan salah");
return;
}
mMode = ModeAC.fromInt(mode);
showDisplay();
}
public void speedUp() {
if(mSpeed == MAX_SPEED_LIMIT) {
showError("Kecepatan sudah mencapai batas maksimum");
return;
}
mSpeed++;
showDisplay();
}
public void speedDown() {
if(mSpeed == MIN_SPEED_LIMIT) {
showError("Kecepatan sudah mencapai batas minimum");
return;
}
mSpeed--;
showDisplay();
}
public void switchSwing() {
mIsSwing = !mIsSwing;
showDisplay();
}
private String getSwingString() {
return mIsSwing ? SWING_ON : SWING_OFF;
}
private void showError(String message) {
System.out.println(message);
}
public void showDisplayMode(){
System.out.println(" INI MENU MODE");
System.out.println("|| 1.AUTO ||");
System.out.println("|| 2.COOL ||");
System.out.println("|| 3.DRY ||");
System.out.println("|| 4.HEAT ||");
}
public void showDisplay(){
System.out.println("|======================|");
System.out.println("|---- INI REMOT AC ----|");
System.out.println("| " + mTemp + " °C |");
System.out.println("| SPEED " + mSpeed + " |");
System.out.println("| MODE = " + mMode.getValueString() +" |");
System.out.println("| SWING = "+ getSwingString() +" |");
System.out.println("|-------- MENU --------|");
System.out.println("| 1.Temperature ↑ |");
System.out.println("| 2.Temperature ↓ |");
System.out.println("| 3.Ubah Mode |");
System.out.println("| 4.Switch Swing |");
System.out.println("| 5.Fan Speed ↑ |");
System.out.println("| 6.Fan Speed ↓ |");
System.out.println("| 0.Matikan AC |");
System.out.println("|======================|");
System.out.println("|======================|");
System.out.println();
}
}
/**
* Write a description of enum ModeAC here.
*
* @author Bima S. Ramadhan
* @version 1.0
*/
public enum ModeAC
{
AUTO(1, "AUTO"), COOL(2, "COOL"), DRY(3, "DRY"), HEAT(4, "HEAT");
private final int mValue;
private final String mValueString;
ModeAC(int value, String valueString){
mValue = value;
mValueString = valueString;
}
public int getValue(){
return mValue;
}
public String getValueString(){
return mValueString;
}
public static ModeAC fromInt(int value) {
switch(value) {
case 1:
return ModeAC.AUTO;
case 2:
return ModeAC.COOL;
case 3:
return ModeAC.DRY;
case 4:
return ModeAC.HEAT;
default:
return ModeAC.AUTO;
}
}
}
/**
* Write a description of enum mainRemote here.
*
* @author Bima S. Ramadhan
* @version 1.0
*/
import java.util.Scanner;
public class mainRemote
{
public static void mainRemote(){
Scanner scan = new Scanner(System.in);
int input, mode;
System.out.println("Masukkan 0 untuk menyalakan AC");
RemoteAC remote = new RemoteAC();
input = scan.nextInt();
while(input != 0) {
System.out.println("Masukkan 0 untuk menyalakan AC");
input = scan.nextInt();
}
remote.showDisplay();
input = -1;
while(input != 0){
input = scan.nextInt();
switch(input) {
case 1:
remote.tempUp();
break;
case 2:
remote.tempDown();
break;
case 3:
remote.showDisplayMode();
mode = scan.nextInt();
remote.setMode(mode);
break;
case 4:
remote.switchSwing();
break;
case 5:
remote.speedUp();
break;
case 6:
remote.speedDown();
break;
}
}
System.exit(0);
}
}
- Tampilan awal adalah seperti di bawah. pertama kita harus memasukkan 0 untuk menyalakan AC
- Setelah itu akan muncul tampilan remot AC beserta menu-menunya
- Apabila ketik 1 maka suhu AC akan naik dari 20°C menjadi 21°C
- Apabila kita ketik 2 maka suhu AC turun dan kembali lagi menjadi 20°C
- Saat kita masukkan 3 maka akan muncul pilihan mode AC. disini kita masukkan 2 mengubahnya menjadi mode COOL dan kemudia akan muncul di tampilan bahwa mode AC telah berubah menjadi COOL yang sebelumnya adalah AUTO
-
- Untuk mengubah switch menjadi ON maka kita masukkan 4 dan lihat swing yang awalnya OFF menjadi ON
- Untuk mempercapat dan memperlambat fan AC bisa kita masukkan 5 atau 6
|
Tampilan di BLUEJ |
0 comments:
Post a Comment