단위변환입니다.
조금 고쳐야 할 부분이 있습니다.
잘 활용하시기 바랍니다.
1. MassMeasure.java 파일입니다.
import java.util.Scanner;
public class MassMeasure implements Comparable {
private enum mass{POUNDS, OUNCES, KILOS, GRAMS}
Scanner input=new Scanner(System.in);
private double weight;
private mass mType;
/*
* *생성자 입니다. 올바른 단위가 입력될때까지 반복적으로 물어봅니다.
*/
public MassMeasure(double value, String type){
weight=value;
type=type.toUpperCase();
while(true){
if(type.equals("POUNDS") || type.equals("OUNCES") || type.equals("KILOS") || type.equals("GRAMS")){
mType=mass.valueOf(type);
break;
}
else{
System.out.println("잘못입력하셨습니다. 다시입력하세요 :");
type=input.next();
type=type.toUpperCase();
}
}
}//constructor ends
/*
* *convToGrams 로 모든 단위를 그람수로 바꾸어 연산해줍니다.
*/
private double convToGrams(){
double a = 0;
switch(mType){
case POUNDS:
a=weight*453.6;
break;
case OUNCES:
a=weight*28.35;
break;
case KILOS:
a=weight*1000;
break;
case GRAMS:
a=weight;
break;
}
return a;
}//change weight to grams
/*
* *convToGrams()를 통해서 각 단위에 맞게 단위를 변환합니다.
*/
public double inKilograms(){
return this.convToGrams()/1000;
}
public double inPounds(){
return this.convToGrams()/453.6;
}
public double inOunces(){
return this.convToGrams()/28.35;
}
public double ingrams(){
return this.convToGrams();
} //변환 값만 반환
public String toString(){
return weight+" "+mType;
}
public String toKilograms(){
return this.inKilograms()+" "+"KILOS";
}
public String toPounds(){
return this.inPounds()+" "+"POUNDS";
}
public String toOunces(){
return this.inOunces()+" "+"OUNCES";
}
public String toGrams(){
return this.ingrams()+" "+"GRAMS";
} //변환값과 변환단위를 포함해서 반환
/*
* *compareTo를 통해서 두개를 비교하는데 다른객체보다 작을경우 -1 같을경우 0 클경우 1을 반환합니다.
*/
public int compareTo(Object a) {
if(this.convToGrams()>((MassMeasure) a).convToGrams())
return 1;
else if(this.convToGrams()==((MassMeasure) a).convToGrams())
return 0;
else
return -1;
}
}
2. program.java 파일입니다.
public class program{
public static void main(String[] args){
MassMeasure mass = new MassMeasure(8.5, "pounds");
System.out.println(mass);
System.out.println(mass + " is " + mass.inKilograms() + " kilograms.");
System.out.println(mass + ".");
System.out.println(mass + " is " + mass.toKilograms() + ".");
System.out.println(mass + ".");
}
}
public static void main(String[] args){
MassMeasure mass = new MassMeasure(8.5, "pounds");
System.out.println(mass);
System.out.println(mass + " is " + mass.inKilograms() + " kilograms.");
System.out.println(mass + ".");
System.out.println(mass + " is " + mass.toKilograms() + ".");
System.out.println(mass + ".");
}
}
'프로그래밍 > 자바소스 및 자료' 카테고리의 다른 글
[자바소스] 구구단 출력 프로그램(for문 사용) (0) | 2011.07.27 |
---|---|
[자바소스] 구구단 출력 프로그램(while문 사용) (0) | 2011.07.27 |
[자바소스] 마우스로 연속된 선 그리기 (0) | 2011.07.26 |
[자료 - 링크] 자바가상머신 설치 파일입니다. JAVA SE (0) | 2011.07.18 |
[실습] print(), println(), printf()과 개행문자 (0) | 2011.07.14 |