본문 바로가기
[프로그래밍]/BackEnd

Error Duplicate local variable member - 변수 중복 선언

by control+c 2014. 7. 4.
반응형

Error Duplicate local variable member - member 변수 중복 선언

 

08_java기초_서로다른클래스_리턴O_parameter갯수O_메서드분리 과정에서 나온 에러 입니다.

 

이미 작성 해놓았던 하나의 클래스 내에서 리턴과 parameter 갯수가 있는 자바 코드를 여러클래스로 나누는 과정에서 에러가 나왔습니다.

 

아래는 작성 해 놓았던 자바 연습파일 입니다.  






 

 

/*-/*-/*-/*-/사용된 코드 /*-/*-/*-/*-/*-/

 package kr.or.ksmart.A;
 public class AA {
    public static void main(String[] args) {
    //---------------------DB------------------------//  
     //DB에 저장되어 있는 내용//구매자의 회원 정보를 DB에서 가져온다.
     String input_member_db =    "00";//DB 內 아이디
     int input_no_db =            100;//DB 內 구매횟수
     int input_money_db =         1000000000;//DB 內 누적 구매금액
      //DB에 저장되어 있는 내용--관리자가 정해놓은 관리정보를 DB에서 가져온다.
     double input_savepointdb =   1.8;//관리자가 정해놓은 기본 적립률
     double input_dispointdb =    1.4;//관리자가 정해놓은 기본 할인율

   //*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
         
   //회원여부확인 Method 호출
   String member = member(input_member_db);
   System.out.println(input_member_db+"님은 "+member+"입니다. ");
   //단골여부확인 Method 호출
   String dan = dangol(member, input_no_db);
   System.out.println("구입횟수는"+input_no_db+"번이고  등급은 "+dan+"입니다. ");
   //구입금액별회원레벨확인 Method 호출
   String le = level(dan, input_money_db);
   System.out.println("구입금액은 "+input_money_db+"이고 "+le+"회원 입니다. ");
   //회원레벨별 적립률확인 Method 호출
   double sa = save(le, input_savepointdb);
   System.out.println("설정적립률은"+input_savepointdb+"% 이고 실제 적립률은 "+sa+"% 입니다. ");
   //회원레벨별 할인율확인 Method 호출
   double dis = discount(le, input_dispointdb);
   System.out.println("설정할인율은"+input_dispointdb+"% 이고 실제 할인율은 "+dis+"% 입니다. ");
   //프로그램 화면에 보여질 내용//
   moniter(member, input_member_db, dan, le, sa,dis,input_no_db,input_money_db);

   //실제 화면에 출력하고 싶은 내용
   /* 
   System.out.println("");
   System.out.println("");
   System.out.println("/*-/*-/*-/프로그램 화면에 보여질 정보/*-/*-/*-/");
   System.out.println("*-/  "+input_member_db+"님은 "+dan+le+"회원 " + "입니다. ");
   System.out.println("*-/  "+ "적립률은  "+sa+" |할인율은"  +dis);
   */ 
 }
 //회원여부확인 Method 선언
 public static String member(String id){
  System.out.println("STEP One_회원/비회원 체크");
  String memid;
  if(id != ""){
   memid="회원";
  }else {
   memid="비회원";
  }
  return memid;
 }
 //단골여부확인 Method 선언 (단골일때 ★ 비단골일때 ☆의 특수 문자를 부여)
 //단골 조건 (5회이상  구입시 단골 그이하는 비단골)
 public static String dangol(String member,int count){
  System.out.println("STEP Two_단골여부 체크");
  String dan;
  
  if(member == "회원"  && count >= 5){
   dan="★";
  }else if(member == "회원" && count <4){
   dan="☆";
  }else{
   dan="☆";
  }
   return dan;
  }
 //구입금액별회원레벨확인 Method 선언(비단골=일반회원, 단골=브론즈, 실버, 골드, 다이아)
 public static String level(String dan,int price){
  System.out.println("STEP Three_구입금액체크");
  String pri = "일반";
  if(dan == "★"  && price < 1000000){
   pri="브론즈";
  }else if(dan == "★"  && price >= 1000000){
   pri="실버";
  }else if(dan == "★"  && price >= 5000000){
   pri="골드";
  }else if(dan == "★"  && price > 10000000){
   pri="다이아 ";
  }
   return pri;
 } 
 //회원레벨별 적립률확인 Method 선언
 public static double save(String le, double savepoint){
  System.out.println("STEP Four_적립률 책정");
  double saveper = 0;
  if(le == "다이아"){
   saveper=2.0*savepoint;
  }else if(le == "골드"){
   saveper=1.7*savepoint;
  }else if(le == "실버"){
   saveper= 1.2* savepoint;
  }else if(le == "브론즈"){
   saveper=1.0*savepoint;
  }else{
   saveper= 0;
  }
   return saveper;
 }
 //회원레벨별 할인율확인 Method 선언
 public static double discount(String le, double dispoint){
  System.out.println("STEP Five_할인률책정");
  double disper = 0;
  if(le == "다이아"){
   disper=4.0*dispoint;
  }else if(le == "골드"){
   disper=3.0*dispoint;
  }else if(le == "실버"){
   disper= 2.0* dispoint;
  }else if(le == "브론즈"){
   disper=1.0*dispoint;
  }else{
   disper= 0;
  }
  return disper;
 }  
 //회원화면과 비회원 화면의 구성
 public static void moniter(String mem, String input_member_db, String dan, String le, double sa, double dis,int no, int pri){
  if(mem == "회원"){
   //회원화면에 출력하고 싶은 내용
   System.out.println("");
   System.out.println("");
   System.out.println("/*-/*-/*-/프로그램 화면에 보여질 정보/*-/*-/*-/");
   System.out.println("/*-/  "+input_member_db+"님은 "+dan+le+"회원 " + "입니다.   /*-/");
   System.out.println("/*-/  "     + "구매횟수 :"+no+"%|누적구매금액 :"+pri+"%/*-/");
   System.out.println("/*-/  "     + "적립률 :  "+sa+"% | 할인율 : "  +dis+"% /*-/");
   System.out.println("/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/");
   }else{//비회원화면에 출력하고 싶은 내용
    System.out.println("");
    System.out.println("");
    System.out.println("/*-/*-/*-/프로그램 화면에 보여질 정보/*-/*-/*-/");
    System.out.println("/*-/  당신은 "+mem+ "입니다.               /*-/");
    System.out.println("/*-/  "     + "적립률 :  "+sa+"% | 할인율 : "  +dis+"% /*-/");
    System.out.println("/*-/  회원 가입하시면 더많은 혜택을 드립니다. /*-/");
    System.out.println("/*-/  회원 가입페이지로 이동하시겠습니까?    /*-/");
    System.out.println("/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/*-/");
   }
 }
}

 

 

위의 메소드 별 클래스로 나누는 작업을 하는 중 아래와 같은 에러메시지가 나왔습니다.

 

 



 

 

 

 /*-/*-/Error 내용/*-/*-/*-/

Multiple markers at this line
  - The method member(String) is undefined for the type String 
  - Duplicate local variable membe

 

 

 

- member 변수 중복에 관한 내용입니다.  붉은 색 member자리에 중복된 다른 변수명이 올수 있으니 참고하시기 바랍니다.

 

★★★★ Duplicate local variable 0000 는 0000변수의 현페이지 내 중복을 알리는 Error

 

 



 

 

 

해결 방법은 두개의 member 변수중 한개를 다른 변수명으로 바꿔주면 간단합니다.

 

저의 경우 위에 있는 10번라인의 변수member을 member_out로 바꿔주었습니다.

 

간단히 해결할수 있는 에러 였네요~..

 

오늘도 웹공부중인 조조나리 였습니다.

반응형

댓글