나는 프로그래밍에 익숙하지 않습니다. 나는이 루프가 훨씬 더 효율적으로 보이도록 루프를 이해한다. 하지만 지금 당장은을 반환하는 방법을 알아야합니다. 나는 그들의 가치에 기초하여 최고의 동물을 찾아야합니다. 가장 높은 값이 반환되어야합니다.(숙제) 실행 중이지만 필요한 값을 반환하지 않음
는 지금 ("대답을") surveyresponse.equals 그래서 그것은 나를 위해 문제를 해결하지 않은 문에 비교에 .equals에 코드를 변경했습니다.
코드는 현재 실행하지만, 단지 대답로 용을 반환합니다.
- 가장 값이 큰 동물을 돌려 주려면 코드가 필요합니다.
해당 개에 대한 할당 요청은 모든 관계를 얻고 고양이는 항상 타이 브레이커를 잃게됩니다.
import java.util.Scanner; public class PetSurvey{ public static void main(String[] args){ String surveyResponse; String y; int dogScore, catScore, dragonScore, z; dogScore = 0; catScore = 0; dragonScore = 0; z = 0; y = "best animal"; Scanner foo = new Scanner(System.in); System.out.print(" What is your favorite pet? "); System.out.print(" a) Dogs "); System.out.print(" b) Cats "); System.out.print(" c) Dragons "); System.out.print(" d) I like cats, dogs and dragons "); surveyResponse = foo.next(); if (surveyResponse == "a"){ dogScore = dogScore + 3;} if (surveyResponse == "b"){ catScore = catScore + 3;} if (surveyResponse == "c"){ dragonScore = dragonScore + 3;} if (surveyResponse == "d"){ dogScore = dogScore + 1; catScore = catScore + 1; dragonScore = dragonScore +1;} System.out.print(" What is your favorite pet? "); System.out.print(" a) Dogs "); System.out.print(" b) Cats "); System.out.print(" c) Dragons "); System.out.print(" d) I like cats, dogs and dragons "); surveyResponse = foo.next(); if (surveyResponse == "a"){ dogScore = dogScore + 3;} if (surveyResponse == "b"){ catScore = catScore + 3;} if (surveyResponse == "c"){ dragonScore = dragonScore + 3;} if (surveyResponse == "d"){ dogScore = dogScore + 1; catScore = catScore + 1; dragonScore = dragonScore +1;} System.out.print(" What is your favorite pet? "); System.out.print(" a) Dogs "); System.out.print(" b) Cats "); System.out.print(" c) Dragons "); System.out.print(" d) I like cats, dogs and dragons "); surveyResponse = foo.next(); if (surveyResponse == "a"){ dogScore = dogScore + 3;} if (surveyResponse == "b"){ catScore = catScore + 3;} if (surveyResponse == "c"){ dragonScore = dragonScore + 3;} if (surveyResponse == "d"){ dogScore = dogScore + 1; catScore = catScore + 1; dragonScore = dragonScore +1;} if (dogScore > z){ z = dogScore;} if (catScore > z){ z = catScore;} if (dragonScore > z){ z = dragonScore;} if (dogScore == catScore){ z = dogScore;} if (catScore == dragonScore){ z = dragonScore;} if (z == dogScore){ y = "dog";} if (z == catScore){ y = "cat";} if (z == dragonScore){ y = "dragon";} System.out.print(" The most popular pet is: " + y + "."); } }
나는 사전에이를 덕분에 어떤 도움을 주셔서 감사합니다.
'=='을 사용하여 문자열 값을 비교하지 마십시오. 'equals()'를 사용하십시오. –
사람들이 ==를 사용하여 문자열을 비교할 때 울부 짖음 – Zeeshan
이 질문을 확인하십시오 [Java의 문자열을 어떻게 비교합니까?] (http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in- java) – Zeeshan