2014-11-24 4 views
-2

다른 클래스의 if/else-if 문에서 사용자가 정의한 문자열을 어떻게 사용합니까? (오차)

예시 코드 :클래스간에 문자열을 어떻게 사용합니까?

public class blah_blah 
{ 
    public void example1() 
     { 
     if(input_str.toLowerCase().startsWith("b")) 
      { 
       pronoun = "he"; 
       gender = "boy"; 
      } 
     else if(input_str.toLowerCase().startsWith("g")) 
      { 
       pronoun = "she"; 
       gender = "girl"; 
      } 
     } 
} 
public class blah 
{ 
    public void example2() 
    { 
     System.out.println("it's a " + example1.gender + ", " + example1.pronoun + " beautiful"); 
    } 
} 
+0

오류가 있습니까? 어떤 오류입니까? – Thilo

+0

은 다른 블록에서 로컬 변수를 사용하지 않고 먼저 로컬 변수와 클래스 변수를 읽습니다. – Krishna

+0

무엇? 나는 처음을 읽을 수 없다. – Lioninn22

답변

2

게터가 필요합니다. 자바 명명 규칙은

class Example1 { 
    private String gender; 
    private String pronoun; 

    public void example1(String input_str) { 
     if (input_str.toLowerCase().startsWith("b")) { 
      pronoun = "he"; 
      gender = "boy"; // male? 
     } else if (input_str.toLowerCase().startsWith("g")) { 
      pronoun = "she"; 
      gender = "girl"; // female? 
     } 
    } 
    public String getGender() { 
     return gender; 
    } 
    public String getPronoun() { 
     return pronoun; 
    } 
} 

그럼 당신은 내가 먼저 변수에 대해 읽어 추천 example1 전화를

Example1 exe = new Example1(); 
exe.example1("boy"); 
System.out.println(exe.getGender()); 
+0

나는 그에게 기초 학습을위한 링크를 제공하도록 강력히 권할 것이다. – Krishna

+0

null로 반환되었습니다. – Lioninn22

+0

@ Lioninn22 먼저 'example1'을 호출 했습니까? 내 대답을 다시 읽으십시오. –

0

정적 변수는 서로 다른 클래스에 accecssed 수있다. 로컬 변수는 외부 클래스에서 액세스 할 수 없습니다. getter setter를 사용하여 변수를 설정하고 가져올 수 있습니다.

1

같은 것을 필요로 할 것이다. 이리. Types of variables.

여기에도이 예제가 필요합니다.

public class Student { 

    public String name; // Student's name. 
    public double test1, test2, test3; // Grades on three tests. 

    public double getAverage() { // compute average test grade 
     return (test1 + test2 + test3)/3; 
    } 

} 
관련 문제