2017-05-11 1 views
1

내 목표는 다음과 같은 결과물을 출력 할 것이다 :이 Digits Display 프로그램이 작동하지 않는 이유는 무엇입니까?

이 번호를 입력 : 루프 구조 및 기본 문자열을 사용하여 789

7

8

9

.

여기 내 프로그램 atm입니다.

public static void main(String[] args) { 

    int mod; 
    int power = 10; 
    int display; 
    String number; 
    Scanner input = new Scanner(System.in); 

    System.out.println ("Enter a positive integer: "); 
     number = input.nextLine(); 

    int numberLength; 

    numberLength = number.length(); 
    numberLength -= 1; 

    do { 

     mod = Math.pow (power, numberLength); 
     power -= 1; 
     display = number % mod; 
     System.out.println (display); 

    } while (mod>=1);  
} 

은}

는 어떤 도움을 이해할 수있을 것이다! 감사!

+0

'String, charAt'을 사용하지 않는 이유는 무엇입니까? – Jens

+0

아직 알지 못하기 때문에. –

+1

'number % mod' <- 숫자는 일명 문자열입니다. 텍스트에 대해 모듈러스 연산을 수행 할 수는 없으므로 그 수를 필요로하므로 정확히 알려주는 오류가 발생해야합니다. –

답변

2

당신은 예를 들어 System.out.print(number.replace("", "\n"));를 사용할 수있는 루프 또는 당신이 한 번에 replace("", "\n");를 사용할 수있는 모든 것을 할 필요 :

public static void main(String[] args) { 
    Scanner input = new Scanner(System.in); 
    System.out.print("Enter a positive integer: ");//789 
    String number = input.nextLine(); 
    System.out.print(number.replace("", "\n")); 
} 

출력

Enter a positive integer: 789 

7 
8 
9 
+1

좋은 솔루션 !! – CraigR8806

+1

감사합니다 @ CraigR8806 :) –

0

사용 String.charAt()

 String number; 
     Scanner input = new Scanner(System.in); 

     System.out.println ("Enter a positive integer: "); 
      number = input.nextLine(); 

      for (int i=0; i<number.length();i++) { 
       System.out.println(number.charAt(i)); 
      } 
관련 문제