2017-11-07 2 views
1

안녕하세요 저는 수업을위한 프로그래밍 과제에 주저합니다. 할당은 다른 루프를 셀 수있는 프로그램을 만드는 것입니다. 프롬프트 사용자 입력 코드가 맞습니다. 입력 한 시간만큼 내 메시지를 인쇄하는 방법을 알아낼 수 없다고 생각합니다. 루프가while 루프를 사용하여 사용자가 요청한 횟수만큼 인쇄하십시오.

행 1처럼 뭔가를 인쇄하는 동안

나는 두 번째를 원하는 - 안녕하세요

행 2 - 안녕하세요

3 행 - 안녕하세요

행 사 - 안녕하세요

입력으로 넣은 숫자입니다.

미리 도움을 주셔서 감사합니다.

import java.util.Scanner; 

public class CountingLoops 
{ 
    public static void main(String[] args) 
    { 
     String message; // First message prompt 
     String inputString; // For reading input. 
     double numRows; // Number to be asked. 
     double rowNumber = 1; 

     Scanner keyboard = new Scanner(System.in); 

     System.out.print("Enter the message you want to print? "); 
     message = keyboard.nextLine(); 
     System.out.print("Enter how many times you want your message to be printed. Enter the value from 1-20:"); 
     numRows = keyboard.nextDouble(); 

     while (numRows > 20 || numRows < 1) 
     { 
      System.out.print("Number was not between 1-20. Try Again."); 
      System.out.print("Enter how many times you want your message to be printed. Enter the value from 1-20: "); 
      numRows = keyboard.nextDouble(); 
     } 

     while (numRows <= 20) 
     { 
      System.out.println("Row " + rowNumber++ + " - " + message); 
      rowNumber = keyboard.nextDouble(); 
      rowNumber++; 
     } 
    } 
} 
+2

현재 어떤 작업을 수행하고 계십니까? 어쨌든, numRows 값을 업데이트하지 않으므로 마지막 루프는 무한합니다. – Axnyff

+0

현재 프로그램을 컴파일하고 실행할 때 현재 인쇄되는 내용입니다. 인쇄 할 메시지를 입력 하시겠습니까? Hello 메시지를 인쇄 할 횟수를 입력하십시오. 1-20에서 값을 입력 : 5 행 1.0 - 안녕하세요 나는 그것이 행 1.0 인쇄 할 - 안녕하세요 행 2.0 - 안녕하세요 행 3.0 - 안녕하세요 등을 양이 numRows의에 입력 할 때까지. –

답변

4

"다른 루프를 계산할 수있는 프로그램"이란 무엇입니까? 현재 numRows가 업데이트되지 않기 때문에 bottom while 루프는 무한 루프입니다. 이 과제이기 때문에

while (numRows > 0) 
{ 
    System.out.println("Row " + rowNumber++ + " - " + message); 
    rowNumber++; 
    numRows--; 
} 
0

, 나는 코드를 제공하지 않습니다 : 여기에 내가 문제를 해결할 수 있다고 믿는 것입니다. 하지만 코드의 모든 문제는 마지막 while 루프에서 발생합니다.

먼저 numRows 변수의 값을 변경하지 않고 while 루프를 종료 할 수 없습니다.

둘째, 모든 입력이 처음에 완료되므로이 while 루프 중에 다른 입력을 읽을 필요가 없습니다.

셋째, 코드에 rowNumber를 두 번 추가했는데 분명히 올바르지 않으며 다른 것으로 변경해야합니다.

+0

루프가 엉망이 된 것을 알고 있습니다. 입력으로 여러 번 인쇄하는 방법을 완전히 혼란스럽게합니다. –

0

귀하의 답변에는 행 번호와 숫자를 비교하여 완료 시점을 결정해야합니다.

관련 문제