2015-01-05 3 views
-1

그래서 나는 다른 개체에자바 문자열 비교

첫 번째 개체 가져 객체가 있습니다

package test; 
import java.util.*; 

public class Eveniment { 
    int ziua; 
    String luna = new String(); 

    public void setZiua(int param){ 
     ziua = param; 
    } 
    public void setLuna(String param){ 
     luna = param; 
    } 
    public int getZiua(){ 
     return ziua; 
    } 
    public String getLuna(){ 
     return luna; 
    } 
} 

두 번째 목적 : 버그 날입니다

package test; 
import test.*; 
import java.util.*; 
public class EventPlanner { 

    public static void main(String[] args){ 
     ArrayList<Eveniment> myAr = new ArrayList(); 
     Scanner sc = new Scanner(System.in); 

     System.out.println("Introduceti ziua urmata de luna evenimentului: "); 

     int zi = 0; 
     String luna; 
     zi = sc.nextInt(); 
     luna = sc.nextLine(); 

     Eveniment first = new Eveniment(); 
     first.setZiua(zi); 
     first.setLuna(luna); 

     myAr.add(first); 

     while(luna!=null && zi!=0) 
     { 
      zi = sc.nextInt(); 
      luna = sc.nextLine(); 

      if(zi!=0) 
      { 
       Eveniment ev = new Eveniment(); 
       ev.setZiua(zi); 
       ev.setLuna(luna); 

       myAr.add(ev); 
      } 

     } 

     String l = new String(); 
     l = "Ianuarie"; 

     System.out.println(myAr.size());*/ 

     for(int i = 0; i < myAr.size(); i++){ 
      if(myAr.get(i).getLuna().equals(l)) 
       System.out.println(1); 
      else 
       System.out.println(0); 
     } 
    } 

    public static void afisare(ArrayList<Eveniment> myAr){ 
     System.out.println("---------Array------------"); 
     for(Eveniment i : myAr){ 
      System.out.println(i.getLuna() +" "+i.getZiua()); 
     } 
    } 
} 

일을 그 안에서 for 내가 현재 개체가 luna 문자열이 l 문자열과 같으면 확인합니다. 그런 다음 1을 인쇄하고 그렇지 않으면 0을 인쇄합니다. ithm은 문자열이 같더라도 0을 출력합니다. 무엇을 잘못하고 있습니까? 나는 Java를 처음 사용하는 사람이므로 너무 심하게 판단하지 마십시오. 프로그램에 부여

입력 : 프로그램

`Decembrie` 0 
`Ianuarie` 1 
`Februarie` 0 
`Martie` 0 

l 때문에 기록해야

1 Decembrie 
2 Ianuarie 
3 Februarie 
4 Martie 
0//to end the input 

Ianuarie는 동일하다.

+1

를 얻을하지 않습니다 때문이다? – Bohemian

+0

입력 한 내용은 무엇입니까? – SMA

+3

http://stackoverflow.com/questions/5032356/using-scanner-nextline은 아마도 읽을 가치가 있습니다 –

답변

4

l = "Ianuarie" 

myAr.get(i).getLuna() =" Ianuarie" 
         ^--->there are space before the Ianuarie 

은 그래서 당신은 정확히 입력이 프로그램에 무엇을 제공하고 있습니다 1

+2

다음으로 변경하십시오 :'luna = sc.nextLine(). trim();' – Bohemian