😺

ITスクール DAY13 Instance・Setter/Getter

2023/07/25に公開

Instance、Getter・Setter関数、アクセス修飾子、ハッシュについて勉強した。
全部、頭の中でまとまっていた知識であるため、宿題のコードをアップする。

基本的にfieldは、privateに指定した方が慣習的だ。

 class Car {
 
 private String type;	 
 private String model;	 
 private String color;	 
 private int speed =0;	 
 	
 Car(String type,String model,String color){
	 this.type = type;
	 this.model = model;
	 this.color = color;
 }
 
 public void increaseSpeed(int speed) {
	 if(this.speed>=250 || speed>250) {
		 this.speed =250;
		 System.out.println("차량의 한계 속도를 넘었습니다.");
		 return;
		 
	 }
	 else if(speed<0) {
		 System.out.println("증가하는 스피드는 음수가 될 수 없으므로 다시 입력해주세요.");
		 return;
	 }
	 else {
	 this.speed = speed;
	 System.out.printf("speed를 %d를 증가시켰습니다. 현재 속도는 %dkm/h\n", speed,this.speed);
 
	 }
  }
 public void decreaseSpeed(int speed) {
	 if(this.speed==0) {
		 System.out.println("Speed가 0이므로 감속이 불가능합니다."); 
		 return;
	 }
	 else if(speed>this.speed) {
		 this.speed=0;
		 System.out.println("Speed가 0이므로 이 이상 감속이 불가능합니다.");
		 return;	 
	 }
	 else if(speed<0) {
		 System.out.println("감소하는 스피드는 음수가 될 수 없으므로 다시 입력해주세요.");
		 return;
	 }
	 else this.speed -= speed;
	 System.out.printf("speed를 %d를 감소시켰습니다. 현재 속도는 %dkm/h\n", speed,this.speed);
 }
 
 public void showCarInfo() {
	 System.out.printf("%s사의 %s의 색상은 %s이며 현재 속도는 %dkm/h입니다.\n",type,model,color,speed);
 }

簡単に言えば、簡単な問題だが、例外処理をしなければならないものがとても多かったため、時間がかかった。

class Time{
		
	private int hour = 0;
	private int minute = 0;
	private int second = 0;
	
	public void setHour(int hour) {
		if(hour>24 || hour<0) {
			System.out.printf("다시 입력해주세요. 현재의 hour: %d시\n", this.hour);
			return;
		}    
		else this.hour = hour;
		
		
	}
	public void setMinute(int minute) {
		if(minute>59 || minute<0) {
			System.out.printf("다시 입력해주세요. 현재의 minute: %d분\n", this.minute);
			return;
		}
		else	
		this.minute = minute;
	}
		
		
	public void setSecond(int second) {
		if(second>59 || second<0) {
			System.out.printf("다시 입력해주세요. 현재의 second: %d초\n", this.second);
			return;
		}	   
		else	
		this.second = second;
	}
	
	public void getTime() {
		System.out.printf("현재 시간은 %d시 %d분 %d초입니다.", hour,minute,second);
	}
public class CalculatorEx {

	public static void main(String[] args) {

	}
	
	private int num1;
	private int num2;


	public void setNum1(int num1) {
		this.num1 = num1;
	}

	public void setNum2(int num2) {
		this.num2 = num2;
	}
	
	public int add() {
		return this.num1 + this.num2;
	}
	
	public int min() {
		return this.num1 - this.num2;
	}
	
	public int mul() {
		return this.num1 * this.num2;
	}
	
	public int div() {
		if(num2==0) {
			System.out.println("0으로 나눌 수 없습니다. 두 숫자를 다시 입력해주세요");
			return 0;
		}
		else {
		return this.num1 / this.num2;
		}
	}

}

Discussion