// 문제 1번
class goods_info
{
 int m_code;   // 상품코드
 String m_name;  // 상품명
 String m_maker;  // 제조사
 int m_standvalue; // 표준단가
 double m_dcpersent; // 할인율

 // 할인율을 제외한 파라메터로 받는 생성자
 goods_info(int code, String name, String maker, int standvalue)
 {
  goods_write(code, name, maker, standvalue);
 }
 
 // 모든 필드를 파라메터로 받는 생성자
 goods_info(int code, String name, String maker,
   int standvalue, double dcper )
 {
  goods_write(code, name, maker, standvalue);
  this.m_dcpersent = dcper;
 }
 // 일종의 메크로
 void goods_write(int code, String name, String maker, double standvalue)
 {
  this.m_code = code;
  this.m_name = name;
  this.m_maker = maker;
  this.m_standvalue = (int)standvalue;
 }
 // 할인율 변경
 void change_dc(double num)
 {
  this.m_dcpersent =  m_standvalue * num;
 }
 // 판매가 계산
 int output_value()
 {
  return this.m_standvalue *= (int)this.m_dcpersent;
 }
}
// 문제 2번
class Square
{
 // final은 변수가 아닌 상수값으로 놓겠다는 의미인데
 // 이 함수는 이 상수값을 변경하려고 하였으므로 에러, final 을 지워준다.
 int sideLength;
 void setSideLength(int sideLength)
 {
  this.sideLength = sideLength;
 }
}
// 문제 3번
class Rectangle
{
private:
 int width, height;
public:
 Rectangle(int width, int height)
 {
  if(width <= 0)
   throw new Exception("넓이가  0이하임");
  if(height <= 0)
   throw new Exception("높이가  0이하임");
  this.width = width;
  this.height = height;
 }
 
 int getArea()
 {
  return width * height;
 }
}
// 문제 4번
class BBSItem
{
 static int number = 0;
 int seqNo;
 String writer;
 String writtenData;
 String title;
 String content;
 
 BBSItem(String writer, String writtenData, String title, String content)
 {
  this.seqNo = ++number;
  this.writer = writer;
  this.writtenData = writtenData;
  this.title = title;
  this.content = content;
 }
}

// 문제 5번
class TestApp
{
  public static void main(String args[])
  {
   printCharacter('*',30);
   System.out.println("Hello Java");
   printCharacter('-',30);
  }
  // 메인 함수가 static 즉 정적 메소드 이므로, 이 메소드에서 로딩되는
  // 함수인 printCharacter또한 정적 메소드로 해줘야 에러가 안난다.
  static void printCharacter(char ch, int num)
  {
   for(int cnt=0; cnt<num; cnt++)
    System.out.print(ch);
  
   System.out.println();
  
  }
}


public class test {
 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  System.out.println("문제 1번");
  int total = 0;  // 문제의 short를int로 바꿔야 한다.
       // for문상 cnt 가 int선언되서 변수형이 달라 에러 나옴
  for(int cnt = 0; cnt < 10; cnt++)
   total = total + cnt;
  System.out.println(total);
 
  System.out.println();
  System.out.println("문제 2번");
  System.out.println("10%7 = " + (10%7));
  System.out.println("- - 100 = " + (- - 100));
  System.out.println("10*20 = " + 10*20);
  System.out.println("12e2 < 1234 = " + (12e2 < 1234));
  System.out.println("true & false | true = " + (true & false | true));
  System.out.println("100 == 1000 = " + (100 == 1000));
  System.out.println("true && false || true = " + (true && false || true));
  System.out.println("3&4 = " + (3&4));
  System.out.println("4==(3+1)?0:1 =" + (4==(3+1)?0:1));
  System.out.println("1<<3 = " + (1<<3));
 
  System.out.println();
  System.out.println("문제 3번");
  System.out.println(3 & 100L);   // 결과  0
 // System.out.println(++num++);   // 어느쪽 증감 연산인지 알수 없음
 // System.out.println(true + 3);   // boolean 과 덧샘 불가
  System.out.println("-_-"+true+3);  // 결과  -_-true3
 // System.out.println(true > false);  // boolean 끼리 비교 불가
 // System.out.println(0xFF00 || 0x00FF); // int 형끼리만 or 가능
 // System.out.println(--100);    // 변수로 감소연산자 사용하지 않음
 // System.out.println(120e3 << 2);   // 자료형이 각각 double, int형임 120e3 은 10진수로  73955 (int 범위 초과)
 }

}

1. 뇌 자극 교재 연습문제
2. 각종 자료형 최대 크기, 최소 크기 바이너리 비교
3. 각종 부동소수점 자료형 최대 크기, .....
4. 유니코드 사용해서 한글 모두 표기

public class exam {
 public static void main(String args[]){
 
  System.out.println("example1");
 
  int total = 0;
  for(short cnt = 0; cnt<200; cnt++)
   total += cnt;
  System.out.println(total);
 
 
  System.out.println("example2");
 
 
  System.out.println(Integer.toBinaryString(Byte.MAX_VALUE));
  System.out.println(Integer.toBinaryString(Byte.MIN_VALUE));
  byte a=0;
  System.out.println(Integer.toBinaryString(a));
 
  System.out.println(Integer.toBinaryString(Short.MAX_VALUE));
  System.out.println(Integer.toBinaryString(Short.MIN_VALUE));
  short b = 0;
  System.out.println(Integer.toBinaryString(b));
 
  System.out.println(Integer.toBinaryString(Integer.MAX_VALUE));
  System.out.println(Integer.toBinaryString(Integer.MIN_VALUE));
  int c=0;
  System.out.println(Integer.toBinaryString(c));
 
  System.out.println(Long.toBinaryString(Long.MAX_VALUE));
  System.out.println(Long.toBinaryString(Long.MIN_VALUE));
  long d = 0;
  System.out.println(Long.toBinaryString(d));
 
 
  System.out.println("example3");
 
 
  System.out.println(Long.toBinaryString(Double.doubleToRawLongBits(Double.MAX_VALUE)));
  System.out.println(Long.toBinaryString(Double.doubleToRawLongBits(-Double.MAX_VALUE)));
  System.out.println(Long.toBinaryString(Double.doubleToRawLongBits(Float.MAX_VALUE)));
  System.out.println(Long.toBinaryString(Double.doubleToRawLongBits(-Float.MAX_VALUE)));
  System.out.println(Long.toBinaryString(Double.doubleToRawLongBits(Double.MIN_VALUE)));
  System.out.println(Long.toBinaryString(Double.doubleToRawLongBits(-Double.MIN_VALUE)));
  System.out.println(Long.toBinaryString(Double.doubleToRawLongBits(Float.MIN_VALUE)));
  System.out.println(Long.toBinaryString(Double.doubleToRawLongBits(-Float.MIN_VALUE)));
 
 
  System.out.println("example4");
 
 
  for(int i=44032; i<55204; i++)
   System.out.println((char)i);
 
 }
}

+ Recent posts