카드 번호의 첫 번째 숫자에 따라 화면에 카드 유형을 인쇄하는 프로그램을 얻으려고합니다. 프로그램이 잘 컴파일되고 실행되지만 카드 유형 명령문을 화면에 표시하지 않습니다. 나는 이것이 단지 간단한 수정 일 것이라고 확신하지만 그것이 무엇인지를 발견하려고 몇 시간을 보냈다. 내가 여기서 무엇을 놓치고 있니?사례 명세서 코드가 화면에 표시되지 않지만 오류없이 준수합니다.
public static void main (String [] args) {
System.out.println ("Please enter your credit card number without spaces.");
Scanner keyIn = new Scanner (System.in);
long ccNum = keyIn.nextLong();
String cNum = ccNum + "";
switch (cNum.charAt (0))
{
case 4:
System.out.println ("The card is a Visa");
break;
case 5:
System.out.println ("The card is a MasterCard");
break;
case 6:
System.out.println ("The card is a Discover Card");
break;
case 37:
System.out.println ("The card is an American Express Card");
break;
}
}
참조 http://www.asciitable.com/ 어떤 편지 4, 5, 6, 37 :
스위치 문을 사용하여 솔루션을 살펴보십시오 니가 원하는거야. 미래의 문제 : 디버깅을 배우고,'cNum'이 무엇인지,'cNum.charAt (0)'이 리턴하는 것을 살펴보십시오. – luk2302
이 줄은 long을 문자열로 변환하기위한 것입니다. long ccNum = keyIn.nextLong(); 문자열 cNum = ccNum + ""; –
이것이 작동하지 않는 이유가 있습니까? –