import java.util.Scanner;

public class Exam1 {
	/* 사용자로부터 5번 입력을 받는다. 
	 * 1=남자  , 2=여자   ( 1, 1, 1, 2, 2 )
	 * 
	 * 결과 : 남자가 많습니다. 같습니다... */


	public static void main(String[] args){
		Scanner scan=new Scanner(System.in);
		int[] check=new int[5];		
		System.out.println("1이나 2를 입력하세요");

		for(int i=0 ; i<=4 ;i++){
			check[i] = scan.nextInt();			
		}		 
		
		int manCount=0 , womanCount=0;
		for( int i=0 ; i<=4 ; i++){
			if ( check[i] == 1 ) {
				manCount++;
			}else womanCount++;
		}

		if(manCount > womanCount){
			System.out.println("Man이 많음"+manCount);
		} else if(manCount < womanCount){
			System.out.println("Woman이 많음"+manCount);
		} else {
			System.out.println("같아요음"+manCount);
		}
	}
}





import java.util.Scanner;

public class Exam2 {

	public static void main(String[] args) {
		/* 잔고 : 10000
		 * 출금할 금액을 적으세요 : 500
		 * 잔고 : 9500원입니다. 출금 할 금액을~~*/
		System.out.println("잔고를 입력하세요 : ");
		Scanner scan = new Scanner(System.in);
		int count=scan.nextInt();

		while(true){//for(;;)
			System.out.println("출금할 금액을 입력하세요");
			int out=scan.nextInt();
			count-=out;//count=count-out;

			if(count<0){
				break;
			}
			System.out.printf("잔고는 %d \n", count);
		}
		System.out.println("더이상 출금 불가");
	}
}





import java.util.Scanner;


public class Exam2 {

	public static void main(String[] args) {
		/* 잔고 : 10000 
		 * 출금할 금액을 적으세요 : 500 
		 * 잔고 : 9500원입니다 
		 * 출금할 금액을 적으세요 : ~
		 * 	
		 * */
		System.out.print("잔고를  입력하세요 : ");
		Scanner scan=new Scanner(System.in);
		int count=scan.nextInt();
		
		 while(true){
			 System.out.print("출금할 금액을 입력하세요: ");
			 int out=scan.nextInt();
			 
			 if( count < out){
				 System.out.println("잔고 부족");
			 } else {	
				count -=  out;	
			 	System.out.printf("잔고는 %d \n",count);
			 }
		 }
		 /* 잔고보다 많이 출금하려고 할 때는 
		  * '잔고가 부족합니다'
		  * 라고 표시한 후에 다시 출금할 금액을 
		  * 입력받도록 수정하세요*/

	}
}


'Java > 2012.04 강좌' 카테고리의 다른 글

10일차 연습 (입금출금) 2  (0) 2012.04.17
10일차 연습 (입금출금)  (0) 2012.04.17
9일차 점수 입력  (0) 2012.04.16
9일차 calculator  (0) 2012.04.16
9일차 상속2  (0) 2012.04.16

사용자 삽입 이미지

오늘 이야기할 주제는 이클립스의 가장 최신 버전인 헬리오스의 이야기를 적어보려고 합니다. 헬리오스는 아마도 신화속의 인물이죠? 태양신이던가요? 그런데 이놈이 아주 사람을 짜증나게 합니다. SR1까지 나왔지만 그럼에도 불구하고 여러가지 각종 다양한 에러와 종종 멈추는 현상때문에 사람을 너무 답답하게 합니다.

인터넷을 여러가지로 검색해 보았지만 따라해봐도 딱히 해결될 기미는 보이지 않더군요. 하지만 방법을 찾아냈습니다. 좋은 해결책은 아닌것 같지만 헬리오스와 오라클에 인수된 이후에 나온 JDK와의 상성의 문제로 보입니다.

해결책은 다음과 같습니다.
1. 최신의 Eclipse를 다운받아 압축을 풀어 설치를 합니다.
2. JDK 6u20을 다운받습니다. (http://java.sun.com/products/archive/j2se/6u20/index.html)
3. 기존에 깔려있는 JDK를 완전히 삭제합니다. 그리고 다운받은 버젼으로 재설치 합니다.

4. eclipse.ini 설정을 다음과 같이 변경합니다. (-XX:MaxPermSize=256m가 중요합니다)

eclipse.ini
-startup
plugins
/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins
/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810
-product
org
.eclipse.epp.package.jee.product
-showsplash
org
.eclipse.platform
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms256m
-Xmx512m
-XX:MaxPermSize=256m


이제 사용해 보시면 아시겠지만 완벽하게 해결되는것 같지는 않습니다. 하지만 거의 10배는 개선이 됩니다. 사용에 아무런 지장없으실정도로 쓰실 수 있습니다. 굿!


2011년 2월 8일 추가

위와 같은 방법으로도 해결을 보지 못하셨다면 다음에 첨부한 파일을 워크스페이스 이하의 다음의 위치에 넣어주세요.

\.metadata\.plugins\org.eclipse.core.resources\.root\.indexes

properties.index




출처:http://theeye.pe.kr/entry/solution-of-problem-that-eclipse-helios-freezing

'Java > Eclipse' 카테고리의 다른 글

이클립스 속도 개선하기  (0) 2012.06.09
단축키  (0) 2012.04.09
설치  (0) 2012.04.09
import java.util.Scanner;


public class Teacher {

	
	public static void main(String[] args) {
		
		Student s1=new Student(50,60,70);
		
		s1.score();
		
		//ctrl+shift+o : 자동 임포트 
		Scanner input = new Scanner(System.in);
		
		//사용자의 입력을 기다리는 nextInt() 메서드
		System.out.println("3과목 점수를 입력하세요");
		int a = input.nextInt(); 
		int b = input.nextInt();
		int c = input.nextInt();
		
		System.out.println("학생의 이름을 입력하세요");
		String name = input.next();
		
		Student s2 = new Student(a,b,c,name);
		s2.score2();
		
		//Student클래스에 생성자와 메서드 하나씩 추가
		//overLoading 방식으로 
	}

}





public class Student {
	int java, web, android;
	String name;
	
	public void score(){
		System.out.printf("java=%d, web=%d, android=%d \n"
				, java, web , android);
	}
	public void score2(){
		System.out.printf("java=%d, web=%d, android=%d name=%s \n"
				, java, web , android, name);
	} 
	
	//매개변수를 받는 생성자 method
	public Student(int a, int b, int c){
		java=a;  web=b;  android=c;
	}
	public Student(int a, int b, int c, String d){
		java=a;  web=b;  android=c;  name=d;
	}
}


'Java > 2012.04 강좌' 카테고리의 다른 글

10일차 연습 (입금출금)  (0) 2012.04.17
10일차 연습및 복습(Scanner)  (0) 2012.04.17
9일차 calculator  (0) 2012.04.16
9일차 상속2  (0) 2012.04.16
9일차 업캐스팅과 오버라이딩  (0) 2012.04.16
import java.util.Scanner;



public class Calculator {

	public static void main(String[] args) {

		Scanner scan=new Scanner(System.in);

		System.out.println("1.더하기 2.빼기 3.곱하기4.나누기");
		int oper =scan.nextInt();

		System.out.print("숫자를 2번 입력하세요");

		int a= scan.nextInt();
		int b= scan.nextInt();

		//System.out.println("oper="+oper);
		//System.out.println("a+b= "+(a+b));

		/*if문과 swith문 등을 사용해서 구현하세요*/
		if(oper==1){
			System.out.println("a+b="+(a+b) );
		}else if(oper==2){
			System.out.println("a-b="+(a-b) );
		}else if(oper==3){
			System.out.println("a*b="+(a*b) );
		}else if(oper==4){
			System.out.println("a/b="+(a/b) );
		}	
	}
}


import java.util.Scanner;

public class Calculator {

	public static void main(String[] args) {

		Scanner scan=new Scanner(System.in);

		System.out.println("1.더하기 2.빼기 3.곱하기4.나누기");
		int oper =scan.nextInt();

		System.out.print("숫자를 2번 입력하세요");

		int a= scan.nextInt();
		int b= scan.nextInt();

		//System.out.println("oper="+oper);
		//System.out.println("a+b= "+(a+b));

		/*if문과 swith문 등을 사용해서 구현하세요*/
		int result=0;
		switch(oper){
		case 1:result=a+b;
		break;
		case 2:result=a-b;
		break;
		case 3:result=a*b;
		break;
		case 4:result=a/b;
		break;

		}
		System.out.println("결과값 "+result);
		/* 내가 한거
		 * switch(oper){
		case 1:
			System.out.println("a+b= "+(a+b));
			break;
		case 2:
			System.out.println("a-b= "+(a-b));
			break;
		default :
			System.out.println("a*b= "+(a*b));


		}*/
	}
}


'Java > 2012.04 강좌' 카테고리의 다른 글

10일차 연습및 복습(Scanner)  (0) 2012.04.17
9일차 점수 입력  (0) 2012.04.16
9일차 상속2  (0) 2012.04.16
9일차 업캐스팅과 오버라이딩  (0) 2012.04.16
9일차 복습 상속  (0) 2012.04.16
package a.b;

public class Alone {//final 은 상속이 되지 않는다.
	
	int age=10;
	final int money=10000;
	static String name="고길동";
	
	public int getAge(){
		return age;
	}
	public static String getName(){
		return name;
	}
}


package a.b;

public class Friend {
	
	public static void main(String[] arg){
		
		//Static 메서드는 사용할때  객체생성이 필요없다.
		Alone.getName();
		
		Alone a1= new Alone();
		
		String name=a1.getName();
		//Static Field도 사용할때 객체생성이 필요없다.
		String k= a1.name;
		System.out.println( Alone.name );
		
		Alone.name="둘리";
		System.out.println( Alone.name );
				
		System.out.println( a1.money );
		//a1.money=10; // final 필드는 수정 불가
	}
	
	// final class : 상속 불가능
	// final method : 오버라이딩 불가능
	// final field : 수정 불가능 
	
	// static : 무엇이든지 객체생성없이 접근 가능 
}


'Java > 2012.04 강좌' 카테고리의 다른 글

9일차 점수 입력  (0) 2012.04.16
9일차 calculator  (0) 2012.04.16
9일차 업캐스팅과 오버라이딩  (0) 2012.04.16
9일차 복습 상속  (0) 2012.04.16
9일차 복습  (0) 2012.04.16
package a.b;

public class Shape {
	
	public double res=0; 
	
	public double area(){
		return res;
	}

}




package a.b;

public class Circle extends Shape{
	//Shape클래스에서 상속받은 필드와 메소드
	/*public double res=0; 

	public double area(){
		return res;
	}*/ 
	
	public int r=5;
	public double area(){
		res=r*r*Math.PI;
		return res;
	}
}




package a.b;

public class Rectangle extends Shape{
	//Shape클래스에서 상속받은 필드와 메소드
	/*public double res=0; 

	public double area(){
		return res;
	}*/ 
	
	//줄마춤 ctrl+shift+f
	public int w=10;
	public int h=10;
	
	public double area(){
		res=w*h;
		return res;
	}
}




package a.b;

public class Triangle extends Shape{
	//Shape클래스에서 상속받은 필드와 메소드
	/*public double res=0; 

	public double area(){
		return res;
	}*/ 
	
	public int w=5;
	public int h=10;
	public double area(){
		res=w*h*0.5;
		return res;
	}
	
}




package c.d;

import a.b.Circle;
import a.b.Rectangle;
import a.b.Shape;
import a.b.Triangle;


public class Test {

	public static void main(String[] args) {
		Shape ref= null;
		ref =new Circle();// UpCasting
		System.out.println("도형의 면적은 " +ref.area());
		ref =new Rectangle();// UpCasting
		System.out.println("도형의 면적은 " +ref.area());
		ref =new Triangle();// UpCasting
		System.out.println("도형의 면적은 " +ref.area());

	}
}
위에 출력문을 for문으로 변경
package c.d;

import a.b.Circle;
import a.b.Rectangle;
import a.b.Shape;
import a.b.Triangle;


public class Test {

	public static void main(String[] args) {
		Shape[] shapes = new Shape[3];
		shapes[0] =new Circle();// UpCasting
		shapes[1] =new Rectangle();// UpCasting
		shapes[2] =new Triangle();// UpCasting
		
		for(int i=0;i<shapes.length;i++){
			System.out.println("도형의 면적은 :" +shapes[i].area());
		}
	}
}




package c.d;

import a.b.Circle;
import a.b.Rectangle;
import a.b.Shape;
import a.b.Triangle;


public class Test {

	public static void main(String[] args) {
		Shape[] shapes = new Shape[3];
		shapes[0] =new Circle();// UpCasting
		shapes[1] =new Rectangle();// UpCasting
		shapes[2] =new Triangle();// UpCasting
		
		for(int i=0;i<shapes.length;i++){
			System.out.println("도형의 면적은 :" +shapes[i].area());
		}
		if(shapes[0] instanceof Circle){
			System.out.println("Circle의 객체가 맞습니다.");
		}else{
			System.out.println("Circle의 객체가 아닙니다.");
		}
		if(shapes[2] instanceof Circle){
			System.out.println("Circle의 객체가 맞습니다.");
		}else if(shapes[2] instanceof Rectangle){
			System.out.println("Rectangle의 객체가 맞습니다.");
		}else if(shapes[2] instanceof Triangle){
			System.out.println("Triangle의 객체가 맞습니다.");
		}
		else{
			System.out.println("모르겠다.");
		}
	}
}

도형의 면적은 :78.53981633974483

도형의 면적은 :100.0

도형의 면적은 :25.0

Circle의 객체가 맞습니다.

Triangle의 객체가 맞습니다.


'Java > 2012.04 강좌' 카테고리의 다른 글

9일차 calculator  (0) 2012.04.16
9일차 상속2  (0) 2012.04.16
9일차 복습 상속  (0) 2012.04.16
9일차 복습  (0) 2012.04.16
8일차 Inheritance(상속)2  (0) 2012.04.13
package com.java;

public class Daddy {
	boolean house=true;
	
	void hasHouse(){
		if(house){
			System.out.println("집이 있다.");
		}else{
			System.out.println("집이 없다.");
		}
	}
}




package com.java;

public class Son extends Daddy {
	int salary=100;
	
	void getSalary(){
		System.out.println("내 월급은 :"+ salary);
	}
}




package com.java;

public class Exam2 {
	
	public static void main(String[] args) {
		Son son1=new Son();
		System.out.println(son1.house);
		son1.hasHouse();
		
	}
}

/* Son은 Daddy를 상속받게 만들고
 * 그 후에 아들이 집이 있는지 물어보시오  * 
 * 
 */


'Java > 2012.04 강좌' 카테고리의 다른 글

9일차 상속2  (0) 2012.04.16
9일차 업캐스팅과 오버라이딩  (0) 2012.04.16
9일차 복습  (0) 2012.04.16
8일차 Inheritance(상속)2  (0) 2012.04.13
8일차 Inheritance(상속)  (0) 2012.04.13


-- 밑의 Cat클래스를 사용하고 싶다면

   Cat cat1=new Cat();

   Cat cat2=new Cat();

   

   int f  =  cat1.foot;

   cat1.cry();

   int age=cat.getAge();

-- class Cat{

// 필드 

    Boolean isLive=true;

        int foot=4;

public Cat(){   // 생성자 default

        }


public void cry(){

화면출력("야옹야옹");

}


public int getAge(){

return 2;

}

   }


package com.java;

class M{
	int x;
	int y;
	
	public int plus(int a,int b){
		return a+b;
	}

	public int plus(int a,int b, int c){//메서드 오보로딩
		return a+b+c;
	}
	
	public M(){}//생략된 기본 생성자
	public M(int x,int y){
		this.x=x;//M클래스의 인스턴스를 가리킵니다.
		this.x=y;
	}
}

public class Exam1 {

	public static void main(String[] args) {
		
		M m1= new M();//생략된 생성자 실행하는 문
		System.out.println(m1.plus(3,7));
		System.out.println(m1.plus(3,7,14));
		
		M m2= new M(100,200);
		System.out.println(m2.x);		
		System.out.println(m2.y);
		//1.오버로딩, 2.생성자, 3.상속
		
		
		/*2.plus 라는 메서드를 만드시고,
		매개변수로 2개를 주면 2개를더하고
		매개변수로 3개를 주면 3개를더하는
		매서드를 만들어서 사용하세요*/
		System.out.println(plus(3,5));
		System.out.println(plus(3,5,10));


		/*2.plus라는 메서드를 갖는 클래스를 정의 해서 
		사용하세요*/
		M m=new M();

		/*3.메게 변수를 받는 생성자를 만들어보세요*/
		

	}

	public static int plus(int a,int b){
		return a+b;
	}

	public static int plus(int a,int b, int c){
		return a+b+c;
	}
}



'Java > 2012.04 강좌' 카테고리의 다른 글

9일차 업캐스팅과 오버라이딩  (0) 2012.04.16
9일차 복습 상속  (0) 2012.04.16
8일차 Inheritance(상속)2  (0) 2012.04.13
8일차 Inheritance(상속)  (0) 2012.04.13
8일차 ArrayList  (0) 2012.04.13
package com.coffeeEx;

import java.util.Scanner;
 
public class CoffeeMachine {
 
       public static final int PRICE = 300;
       public static final int CONTENT_COFFEE = 5;
       public static final int CONTENT_MILK = 3;
       public static final int CONTENT_SUGAR = 1;
 
       private int coffee = 10;
       private int milk = 10;
       private int sugar = 10;
       private int amount;
 
       Scanner br;
 
       public CoffeeMachine(){
             br = new Scanner(System.in);
             proccess();
             print();
       }
 
       public void proccess(){
             while(true){
                    System.out.print("동전을 넣으세요(커피값 " + PRICE+"원): ");
                    if(!isSale(br.nextInt())){
                           break;
                    }
             }
       }
 
       public boolean isSale(int coin){
             if (coin < PRICE){
                    System.out.println("동전이 부족합니다.");
                    return false;
             }
             if (coffee < CONTENT_COFFEE){
                    System.out.println("커피가 부족합니다.");
                    return false;
             }
             if (milk < CONTENT_MILK){
                    System.out.println("프림이  부족합니다.");
                    return false;
             }
             if (sugar < CONTENT_SUGAR){
                    System.out.println("설탕이  부족합니다.");
                    return false;
             }
             processCoffee(coin);
             return true;
       }
      
       public void processCoffee(int coin){
             if(coin > PRICE){
                    System.out.println("거스름: "+ (coin -PRICE));
             }
             //커피차감
             setCoffee(getCoffee() - CONTENT_COFFEE);
             //프림차감
             setMilk(getMilk() - CONTENT_MILK);
             //설탕차감
             setSugar(getSugar() - CONTENT_SUGAR);
             setAmount(getAmount() + PRICE);
      
             System.out.println("맛 좋은 커피가 준비되었습니다.");
       }
 
       public void print(){
             System.out.println("======현재 자판기 정보======");
             System.out.println("커피양 : " + getCoffee());
             System.out.println("프림양 : " + getMilk());
             System.out.println("설탕양 : " + getSugar());
             System.out.println("보유금액 : " + getAmount());
       }           
       public static void main(String[] args){
             new CoffeeMachine();
       }
 
       public int getCoffee(){
             return coffee;
       }
       public void setCoffee(int coffee){
             this.coffee = coffee ;
       }
       public int getMilk(){
             return milk;
       }
       public void setMilk(int milk){
             this.milk = milk ;
       }
       public int getSugar(){
             return sugar;
       }
       public void setSugar(int sugar){
             this.sugar = sugar ;
       }
       public int getAmount(){
             return amount;
       }
       public void setAmount(int amount){
             this.amount = amount ;
       }
}


package com.coffee;
import java.util.Scanner;

public class CoffeeMachine {
 
 Scanner scan = new Scanner(System.in);
 protected int coffee = 10;
 protected int milk = 10;
 protected int suger =10;
 protected int amount;//들어오는돈
 protected int change=10000;//거스름돈통
 protected int a;  //스캔용
 
 public void process(){
  while(true){
   System.out.print("1: 커피마시기, 2:관리자, 3: 종료 >>");   
   a= scan.nextInt();
   if (a==1)
    buy();
   else if (a==2)
    manager();
   else if (a==3){
    System.out.println("종료하였습니다.");
    break;}
   else
    System.out.println("잘못입력 하였습니다.");
  }
 }
 public void setCoffee(){
  System.out.print("커피=>");
  coffee += scan.nextInt();
  System.out.print("프림=>");
  milk += scan.nextInt();
  System.out.print("설탕=>");
  suger += scan.nextInt();
  
 }
 public void sales(){
  System.out.print("동전수거금액 >>>>");
  a = scan.nextInt();
  if(amount >= a){
  amount -= a;
  System.out.println("요청한금액을 처리하였습니다.");
  }else{System.out.println("금액이 부족합니다.");}
  
 }
 public void cashier(){
  System.out.print("거스름통 채울 금액 >>>>");
  change += scan.nextInt();;
  System.out.println("요청한금액을 처리하였습니다.");
 }
 public void buy(){
  //동전투입
  System.out.print("동전을 넣으세요 (커피값 300원) : ");
  a= scan.nextInt();
  //판매
  if (coffee >=5  && milk >= 3 &&  suger >= 1 ){
   if (a>=300 && a <= change+300){
   System.out.println("거스름 : " +  (a - 300));
   System.out.println("맛 좋은 커피가 준비되었습니다.");
   //커피한잔 소모 
   coffee -= 5;
   milk -= 3;
   suger -= 1;
   //잔고정리
   change -= a-300;
   amount += a;}
   else if (a < 300){
   System.out.println("금액이 부족합니다. 커피값은 300원 입니다.");}
   else if (a > change+300){
   System.out.println("거스름돈이 부족합니다. #관리자한테 상담하세요 02-xxx-xxxx#.");
   }
  }
  else{System.out.println("커피가 부족합니다. #관리자한테 상담하세요 02-xxx-xxxx#");
  }
 }
 public void print(){
  System.out.println("======현재 자판기 정보======");
  System.out.println("커피양 : " + coffee);
  System.out.println("프림양 : " + milk);
  System.out.println("설탕양 : " + suger);
  System.out.println("커피값통 : " + amount);
  System.out.println("거스름통 : " + change);
 }
 public void manager(){
  System.out.println("관리자모드 입니다.");
  print();
  while(true){
  System.out.print("1: 커피 프림 설탕 채우기, 2: 동전수거, 3:거스름통 채우기, 4: 관리자모종료 >>");
  a = scan.nextInt();
  if (a==1)
    setCoffee();
  else if (a==2)
    sales(); 
  else if (a==3)
     cashier();
  else if (a==4)    
   {System.out.println("관리자모드를 종료하였습니다.");break;}
  else
   System.out.println("잘못입력 하였습니다.");
 }
}

 public static void main(String[] args){
  CoffeeMachine cm = new CoffeeMachine(); 
  cm.process();
 }
}

/*
-----더해볼꺼----

은닉화

set메소드

get메소드

클래스 나누기 - 상속,객체생성
*/


'Java > 연습문제' 카테고리의 다른 글

자판기 만들기 (모범 답안)  (0) 2012.04.14
자판기 만들기 3( 커피값받는통 거스름돈통 분리)  (0) 2012.04.14
자판기 만들기 2  (0) 2012.04.14
자판기 만들기  (0) 2012.04.13
교통정보 만들기 (간단히)  (0) 2012.04.13
package com.coffee;
import java.util.Scanner;

public class CoffeeMachine {
 Scanner scan = new Scanner(System.in);

 protected int coffee = 10;
 protected int milk = 10;
 protected int suger =10;
 protected int amount;//들어오는돈
 protected int change=10000;//거스름돈통
 boolean loop=true;

 public void process(){
  while(loop){
   System.out.print("1: 커피마시기, 2:관리자, 3: 종료 >>");
   switch(scan.nextInt()){
   //커피판매
   case 1 : buy(); break; 

   //관리자모드
   case 2 : manager(); break; 

   //반복종료 
   case 3 : System.out.println("종료하였습니다.");
   loop =false;break;
   //오류
   default : System.out.println("잘못입력 하였습니다.");
   }
  }
 }

 public void buy(){
  //동전투입
  System.out.print("동전을 넣으세요 (커피값 300원) : ");
  int a= scan.nextInt();
  //판매
  if (coffee >=5  && milk >= 3 &&  suger >= 1 ){
   if (a>=300 && a <= change+300){
   System.out.println("거스름 : " +  (a - 300));
   System.out.println("맛 좋은 커피가 준비되었습니다.");
   //커피한잔 소모 
   coffee -= 5;
   milk -= 3;
   suger -= 1;
   //잔고정리
   change -= a-300;
   amount += a;}
   else if (a < 300){
   System.out.println("금액이 부족합니다. 커피값은 300원 입니다.");}
   else if (a > change+300){
   System.out.println("거스름돈이 부족합니다. #관리자한테 상담하세요 02-xxx-xxxx#.");
   }
  }
  else {System.out.println("커피가 부족합니다. #관리자한테 상담하세요 02-xxx-xxxx#");}
 }

 public void print(){
  System.out.println("======현재 자판기 정보======");
  System.out.println("커피양 : " + coffee);
  System.out.println("프림양 : " + milk);
  System.out.println("설탕양 : " + suger);
  System.out.println("커피값통 : " + amount);
  System.out.println("거스름통 : " + change);
  
 }


 public void manager(){
  System.out.println("관리자기능입니다.");
  print();

  System.out.print("1: 커피 프림 설탕 채우기, 2: 동전수거, 3:거스름통 채우기, 4: 전단계, 5: 종료 >>");
  switch(scan.nextInt()){

  //커피 프림 설탕 채우기
  case 1 : 
   System.out.print("커피=>");
   coffee += scan.nextInt();
   System.out.print("프림=>");
   milk += scan.nextInt();
   System.out.print("설탕=>");
   suger += scan.nextInt();
   break ;

   //동전수거
  case 2 : 
   System.out.print("동전수거금액 >>>>");
   int a = scan.nextInt();
   if(amount >= a){
    amount -= a;
    System.out.println("요청한금액을 처리하였습니다.");
   }else{System.out.println("금액이 부족합니다.");}
   break;  
  //거스름통채우기
  case 3 : 
   System.out.print("거스름통 채울 금액 >>>>");
   change += scan.nextInt();;
    System.out.println("요청한금액을 처리하였습니다.");
   break; 
   
  case 4 : break;
  //반복종료
  case 5 : System.out.println("종료하였습니다.");
  loop =false;break;


  //오류 - 구간만 다시 시작하는법?
  default : System.out.println("잘못입력 하였습니다.");
  } 
 }


 public static void main(String[] args){
  CoffeeMachine cm = new CoffeeMachine(); 
  cm.process();
 }
}


관리자에서 오류시에만 관리자메뉴다시나오기?

변수없이 loop돌리기

a랑 change 없이 출력계산하기


coffee의 get,set 메소드

             milk의 get,set 메소드

             sugar의 get,set 메소드

             amount의 get,set 메소드




1차  public void print()




package com.coffee;
import java.util.Scanner;

public class CoffeeMachine {
 Scanner scan = new Scanner(System.in);

 protected int coffee = 10;
 protected int milk = 10;
 protected int suger =10;
 protected int amount;
 protected int change;
 boolean loop=true;

 public void process(){
  while(loop){
   System.out.print("1: 커피마시기, 2:관리자, 3: 종료 >>");
   switch(scan.nextInt()){
   //커피판매
   case 1 : buy(); break; 

   //관리자모드
   case 2 : manager(); break; 

   //반복종료 
   case 3 : System.out.println("종료하였습니다.");
   loop =false;break;
   //오류
   default : System.out.println("잘못입력 하였습니다.");
   }
  }
 }

 public void buy(){
  //동전투입
  System.out.print("동전을 넣으세요 (커피값 300원) : ");

  //거스름돈
  int a= scan.nextInt();
  if (a>=300){
   change = a - 300;
   if (coffee >=5  && milk >= 3 &&  suger >= 1 ){
    System.out.println("거스름 : " +  change);
    System.out.println("맛 좋은 커피가 준비되었습니다.");
    //커피한잔 소모 
    coffee -= 5;
    milk -= 3;
    suger -= 1;
    amount += 300;  
   }
   else System.out.println("커피가 부족합니다.");
  }
  else{System.out.println("금액이 부족합니다.");}
 }

 public void print(){
  System.out.println("======현재 자판기 정보======");
  System.out.println("커피양 : " + coffee);
  System.out.println("프림양 : " + milk);
  System.out.println("설탕양 : " + suger);
  System.out.println("보유금액 : " + amount);
 }
 
 
 public void manager(){
  System.out.println("관리자기능입니다.");
  print();
  System.out.print("1: 커피 프림 설탕 채우기, 2: 동전수거, 3: 종료 >>");
  switch(scan.nextInt()){

  //커피 프림 설탕 채우기
  case 1 : 
   System.out.print("커피=>");
   coffee += scan.nextInt();
   System.out.print("프림=>");
   milk += scan.nextInt();
   System.out.print("설탕=>");
   suger += scan.nextInt();
   break ;

  //동전수거
  case 2 : 
   System.out.print("동전수거금액 >>>>");
   int b=scan.nextInt();
   if(amount >= b){
    amount -= b;
    System.out.println("요청한금액을 처리하였습니다.");
   }else{System.out.println("금액이 부족합니다.");}
   break; 

  //반복종료
  case 3 : System.out.println("종료하였습니다.");
  loop =false;break;


  //오류 - 구간만 다시 시작하는법?
  default : System.out.println("잘못입력 하였습니다.");
  } 
 }


 public static void main(String[] args){
  CoffeeMachine cm = new CoffeeMachine(); 
  cm.process();
 }
}


자판기 만들기


패키지명 : com.coffee

-------------------------------------

클래스명 : CoffeMachine

-------------------------------------

멤버변수 : coffee(커피) = 10;

           milk(프림) = 10;

           sugar(설탕) = 10;

           amount(동전이 누적될 변수);

--------------------------------------

멤버메소드 : coffee의 get,set 메소드

             milk의 get,set 메소드

             sugar의 get,set 메소드

             amount의 get,set 메소드

             

             process() 

              1. 동전입력

              3. 동전 누적

              4. 커피, 프림, 설탕량 차감

                 (5)   (3)    (1)

              5. 거스름돈 처리

        

             print()

               커피 : 현재량 

               프림 : 현재량

               설탕 : 현재량

               동전 : 현재량


            커피를 마실 때 마다 커피,프림,설탕량이

            차감 되기 때문에 0가 되면 판매 중지 



package com.coffee;
import java.util.Scanner;

public class CoffeeMachine {
 Scanner scan = new Scanner(System.in);

 protected int coffee = 10;
 protected int milk = 10;
 protected int suger =10;
 protected int amount;
 protected int change;
 boolean loop=true;

 public void process(){
  while(loop){
   System.out.print("1: 커피마시기, 2:관리자, 3: 종료 >>");
   switch(scan.nextInt()){
   //커피판매
   case 1 : buy(); break; 

   //관리자모드
   case 2 : manager(); break; 

   //반복종료 
   case 3 : System.out.println("종료하였습니다.");
   loop =false;break;
   //오류
   default : System.out.println("잘못입력 하였습니다.");
   }
  }
 }


 public void buy(){
  //동전투입
  System.out.print("동전을 넣으세요 (커피값 300원) : ");

  //거스름돈
  int a= scan.nextInt();
  if (a>=300){
   change = a - 300;
   if (coffee >=5  && milk >= 3 &&  suger >= 1 ){
    System.out.println("거스름 : " +  change);
    System.out.println("맛 좋은 커피가 준비되었습니다.");
    //커피한잔 소모 
    coffee -= 5;
    milk -= 3;
    suger -= 1;
    amount += 300;  
   }
   else System.out.println("커피가 부족합니다.");
  }
  else{System.out.println("금액이 부족합니다.");}
 }


 public void manager(){
  System.out.println("관리자기능입니다.");
  System.out.println("======현재 자판기 정보======");
  System.out.println("커피양 : " + coffee);
  System.out.println("프림양 : " + milk);
  System.out.println("설탕양 : " + suger);
  System.out.println("보유금액 : " + amount);
  System.out.print("1: 커피 프림 설탕 채우기, 2: 동전수거, 3: 종료 >>");
  switch(scan.nextInt()){

  //커피 프림 설탕 채우기
  case 1 : 
   System.out.print("커피=>");
   coffee += scan.nextInt();
   System.out.print("프림=>");
   milk += scan.nextInt();
   System.out.print("설탕=>");
   suger += scan.nextInt();
   break ;

   //동전수거
  case 2 : 
   System.out.print("동전수거금액 >>>>");
   int b=scan.nextInt();
   if(amount >= b){
    amount -= b;
    System.out.println("요청한금액을 처리하였습니다.");
   }else{System.out.println("금액이 부족합니다.");}
   break; 

   //반복종료
  case 3 : System.out.println("종료하였습니다.");
  loop =false;break;


  //오류 - 구간만 다시 시작하는법?
  default : System.out.println("잘못입력 하였습니다.");
  } 
 }


 public static void main(String[] args){
  CoffeeMachine cm = new CoffeeMachine(); 
  cm.process();
 }
}


package com.trans;


public class Transport {
	
	protected String name;
	protected int speed;
	protected int energy;
	//protected boolean swim;
	
	public String getName(){
		return name;
	}
	public int getSpeed(){
		return speed;
	}
	public int getEnergy(){
		return energy;
	}
	public void consumGas(){
		energy -= 10;
	}
}




package com.trans;

public class TransportMain {
	public static void main(String[] args){
		Ship s = new Ship("배",25,50,true);
		s.consumGas();
		Air a = new Air("비행기",50,100,true);
		a.consumGas();
		System.out.println("==================================");
		System.out.println("이름\t속도\t연료\t비고");
		System.out.println("==================================");

		System.out.print(s.getName()+"\t");
		System.out.print(s.getSpeed()+"\t");
		System.out.print(s.getEnergy()+"\t");
		System.out.print((s.getSwim()?"항해" : "정박")+"\n");
		
		
		System.out.print(a.getName()+"\t");
		System.out.print(a.getSpeed()+"\t");
		System.out.print(a.getEnergy()+"\t");
		System.out.print((a.getFly()?"비행" : "착륙")+"\n");
		
		
		
	}

}




package com.trans;

class Ship extends Transport{
	private boolean swim=true;
	public void consumGas(){//메소드 오버라이딩으로 재정의
		energy -= 25;
	}
	public Ship(String name,int speed,int energy,boolean swim){
		this.name=name;
		this.speed=speed;
		this.energy=energy;
			
	}
	public boolean getSwim(){
		return swim;
	}
}




package com.trans;

class Air extends Transport{
	public void consumGas(){
		energy -= 50;
	}
	private boolean fly=true;
	public Air(String name,int speed,int energy, boolean fly){
		this.name=name;
		this.speed=speed;
		this.energy=energy;
	}
	public boolean getFly(){
		return fly;
	}
}


package com.exam;
public class Score {

	private int korean;
	private int english;
	private int math;

	public void setKorean(int korean){
		this.korean = korean;
	}
	public void setEnglish(int english){
		this.english = english;
	}
	public void setMath(int math){
		this.math = math;
	}
	public int getKorean(){
		return korean;
	}
	public int getEnglish(){
		return english;
	}
	public int getMath(){
		return math;
	}
	//총점
	public int makeSum(){
		return korean+english+math;
	}
	//평균
	public double makeAvg(){
		return makeSum()/3.0;
	}
	//학점 등급 ABCDF -2번째 요구사항
	public String makeGrade(){
		String grade;
		switch((int)makeAvg()/10){
		case 10:
		case 9: grade="A"; break;
		case 8: grade="B"; break;
		case 7: grade="C"; break;
		case 6: grade="D"; break;
		default : grade="F";
		}
		return grade;

	}
}




package com.exam;
import java.util.Scanner;

public class ScoreMain {
	public static void main(String[] args){
		//Scanner sc = new Scanner(System.in);
		Score sc = new Score();
		input(sc);
		outPut(sc);
		
	}
	public static void input(Score sc){
		Scanner sca = new Scanner(System.in);
		
		System.out.println("====성적 입력=====");
		System.out.print("국어 : ");
		sc.setKorean(sca.nextInt());
		System.out.print("영어 : ");
		sc.setEnglish(sca.nextInt());
		System.out.print("수학 : ");
		sc.setMath(sca.nextInt());
	}
	//출력을 위한 메소드
	//메소드명 : outPut -1 요구사항
	public static void outPut(Score sc){//Score sc를 안쓰면 호출불가
		//sc 는 지역변수 이기에
		System.out.println("=====성적 출력======");
		System.out.println("국어 : " + sc.getKorean());
		System.out.println("영어 : " + sc.getEnglish());
		System.out.println("수학 : " + sc.getMath());
		System.out.println("총점 : " + sc.makeSum());
		System.out.printf("평균 : %.2f\n",sc.makeAvg());
		System.out.println("학점 : " + sc.makeGrade());

}
}


+ Recent posts