디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

자바용 간단한 사칙연산입니다. 문제점은 없을까요?

dd(125.128) 2011.03.31 11:29:29
조회 142 추천 0 댓글 3

 private static Scanner sc;

 public static Scanner getInstance() {
  if(sc==null) {
   sc = new Scanner(System.in);
  }
  return sc;
 }
 public void calculator() {
  
  int firstValue = 0;
  int lastValue = 0;
  double resultValue = 0.0;
  String[] toVal=new String[100];
  char[] giho = new char[10];
  BigDecimal bigValue;
  BigDecimal b1;
  BigDecimal b2;
  
    while(true) { 
     
     sc = getInstance();
     System.out.print("계산식을 입력하세요~~::::  ");
  String val = sc.nextLine();
  
  for(int h =0; h<val.length();h++) {
   
      giho[h]= val.charAt(h);
      
  }//연산자를 찾기위해 charAt으로 문자단위로 끊음
  
   for(int i=0; i<giho.length;i++) {
    
       if(\'/\'==giho[i]) {
       
        toVal =  val.split("/");
      
       }else if(\'*\'==giho[i]) {
       
        toVal =  val.split("*");  
       
       }else if(\'+\'==giho[i]) {
         
        toVal =  val.split("\\\\+");
       
       }else if(\'-\'==giho[i]) {
       
        toVal =  val.split("-");  
       
       }
       
  }//연산자를 찾기위한 2번째for문 End
  
  firstValue = Integer.parseInt(toVal[0]);
  lastValue = Integer.parseInt(toVal[1]);
  
  for(int j =0; j<giho.length;j++) {
   try { 
     if(\'/\'==giho[j]) {
       
        b1 = BigDecimal.valueOf(firstValue);
        b2 = BigDecimal.valueOf(lastValue);
        
       System.out.println("계산식 ::::"+firstValue +" / " + lastValue);   
      
          if(firstValue>lastValue) {
           bigValue = b1.divide(b2); 
          }else {
        bigValue = b2.divide(b1);
          }
         
          System.out.println("RESULT ::::"+bigValue);
         break;
      
     }else if(\'*\'==giho[j]) {
       
       System.out.println("계산식 ::::"+firstValue +" * " + lastValue);   
       resultValue = firstValue * lastValue;
       System.out.println("RESULT ::::"+resultValue);
       break;
       
     }else if(\'+\'==giho[j]) {
       
       System.out.println("계산식 ::::"+firstValue +" + " + lastValue);   
       resultValue = firstValue + lastValue;
       System.out.println("RESULT ::::"+resultValue);
       break;
      
     }else if(\'-\'==giho[j]) {
       
       System.out.println("계산식 ::::"+firstValue +" - " + lastValue);   
       resultValue = firstValue - lastValue;
       System.out.println("RESULT ::::"+resultValue);
       break;
     }
   }catch(ArithmeticException e) {
       
      System.out.println("분모에 0을 넣으시면 안됩니다.");
      return;
   
   }catch(Exception e) {
      
      e.printStackTrace();
     }
  }
 if("exit".equals(val)) {
  System.out.println("계산기를 종료합니다.감사합니다");
  break;
 }
    }//end while
 }
혼자 공부하면서 사칙연산만 가능하게 짜봤는데 평가좀 부탁드려요 ㅎㅎ

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 흡연때문에 이미지 타격 입은 것 같은 스타는? 운영자 24/07/15 - -
244098 책에 있는건데 질문좀 할게요 [2] asdsdgfsg (119.198) 11.04.11 45 0
244096 형들아 횽 부탁이 있어요. [9] 일광면(119.198) 11.04.11 64 0
244095 sg대이상은 여기 오지마라. [4] ㅁㄹㅇㄴ(182.208) 11.04.11 105 0
244094 내가 생각했던 앱 아이디어 [2] 시불라미갤로그로 이동합니다. 11.04.11 58 0
244093 진리의 코드.real 허허벌판갤로그로 이동합니다. 11.04.11 58 0
244092 횽들 알고리즘에 관한건데.. [1] 횽들(121.129) 11.04.11 39 0
244089 요새 머릿속이 이상해지는거 같음. 덧셈이 안되. ㅇㅇㅇㅇㅇㅇ(210.117) 11.04.11 27 0
244088 관영이님 감사합니다 ㅋㅋ [2] asdsdgfsg(119.198) 11.04.11 45 0
244086 질문 올린사람인데요 asdsdgfsg(119.198) 11.04.11 33 0
244085 IT회사는 여성 인권이 제일 안 지켜지는 업종 같다 [6] ㅇㅇ(121.133) 11.04.11 145 0
244084 asdsdgfsg는 보세요. 일광면(119.198) 11.04.11 71 0
244083 밑에 질문 올린사람인데요 [3] asdsdgfsg(119.198) 11.04.11 60 0
244081 진짜 죵나 간단한, 븅신 아니면 다아는데 나만몰라 ㅠ_ㅠ [7] ??????(220.86) 11.04.11 96 0
244079 C언어 쉬운거좀 도와주셈 [3] asdsdgfsg(119.198) 11.04.11 90 0
244077 Mr.하늘 디스하지마라 개넘들아 [2] 뽀로리(175.205) 11.04.11 73 0
244075 스택에 잡히고 힙에 잡히고 이런 거 잘 아느뇨? [6] 한마음택배갤로그로 이동합니다. 11.04.11 80 0
244074 님들 연산자중에서 [3] dd(218.238) 11.04.11 39 0
244072 근데 수업시간에 링크리스트 할때 네모박스 그리고 화살표로 긋는데.. [2] ㅇㅇㅇ(210.117) 11.04.11 32 0
244071 야 씹알.. 어떤새끼가 IE7이 웹표준을 완벽히 지킨 브라우져라고 하는데 [1] 병시나(175.193) 11.04.11 64 0
244070 난 치킨집 차리면 C#으로 이름 정할래 [6] 시그란♬갤로그로 이동합니다. 11.04.11 158 0
244069 오늘 프갤 밤의 주인공은 닌텐도구나????????????ㅋㅋㅋㅋ C_Perl갤로그로 이동합니다. 11.04.11 41 0
244068 앞으로 글쌀때 자기 소개해라 [18] 닌텐도DS갤로그로 이동합니다. 11.04.11 149 0
244067 예전 프갤 12지신 짤방 [3] 일광면(119.198) 11.04.11 83 0
244066 자바 질문좀요. [1] ㄴㅇㄹ(219.251) 11.04.11 42 0
244065 닌탠도는 봅니다 [3] 시그란♬갤로그로 이동합니다. 11.04.11 61 0
244064 오류좀 봐주셤들요 ㅜㅜ 박박(112.187) 11.04.11 26 0
244063 아 씨발 존나 웃었다.ㅋㅋㅋ [6] 닌텐도DS갤로그로 이동합니다. 11.04.11 89 0
244062 싀..싓팔 ... APM 싓팔 돼지솽년아 [2] ㅇㅇ(14.48) 11.04.11 46 0
244061 안녕 ??ㅋㅋㅋㅋ 내 소개 할께 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ [11] C_Perl갤로그로 이동합니다. 11.04.11 78 0
244060 오오 공비형 결국 힛갤 갔네 ㅋㅋㅋㅋ 꿀레(14.33) 11.04.11 63 0
244059 D.na.jpg 갤로그로 이동합니다. 11.04.11 64 0
244057 헐 ㅋㅋㅋㅋㅋㅋ프갤에서 과선배만난거임? 꿀레(14.33) 11.04.11 55 0
244055 자바 소켓코딩에서 ㄴㅇㄹ(219.251) 11.04.11 35 0
244054 뭐좀 여쭤볼려구염ㅇㅇㅇ [1] ㅇㅇㅇㅇ(110.9) 11.04.11 28 0
244053 Mr.하늘과 관영이 [25] 닌텐도DS갤로그로 이동합니다. 11.04.11 221 0
244052 왜 나는 과제가 새벽에만 풀릴까 ㅋㅋ [4] 돌고래스피커갤로그로 이동합니다. 11.04.11 58 0
244050 아오 과제 해야하는대 졸라 귀찬내 ㅠㅠ [2] 시그란♬갤로그로 이동합니다. 11.04.11 41 0
244049 다들 공부도 과제도 좋지만 드라마는 보면서 합시다. [1] 디버거(175.205) 11.04.11 64 0
244048 2010년 4회 정보처리산업기사 기출문제 (컴퓨터영어부문) 인데 ㅠㅠ형 [3] ★킹왕짱☆갤로그로 이동합니다. 11.04.11 127 0
244047 set get 클래스선언하면 set computer.Num(int); 쇠꼽이(121.170) 11.04.11 36 0
244044 혹시 여기 윈폰7 프로그래밍 하는 횽 있어? [5] ㅠㅠ(210.57) 11.04.11 84 0
244042 윈플 질문 좀 받아줘어 [13] 아진짜(116.46) 11.04.11 90 0
244039 내가 지금 행복해서 살고 있는게 아니다. [2] 천한플머(121.139) 11.04.11 86 0
244037 푸리에변환으로 피아노 소리네는거..............하수님 돠주세요. [16] 싸이유니(203.230) 11.04.11 172 0
244035 포인터의 난해함이라는 것에는 예를 들면 무엇이 있나요??? [7] ㅇㅁㄻ(61.100) 11.04.11 98 0
244034 블랙박스 테스팅하는 회사 어떨거 같아? [1] 백수청년(114.204) 11.04.11 167 0
244033 Mr 하늘씨 [8] 뽀로로(175.205) 11.04.11 125 0
244032 초보자는 잘 모르는 자바 문법들 좀 알려주세요 [4] 뽀로로(175.205) 11.04.11 160 0
244031 이런 문법도 c 에 있었어? [3] ㅁㄴㅇㄹ(125.132) 11.04.11 66 0
244030 프갤도 더러운 친목갤인가요??? [7] 부심이(175.205) 11.04.11 97 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2