2014-12-12 3 views
0

기본적으로 1에서 10 사이의 정수와 영문자를 허용하는 프로그램을 만들려고합니다.루프 카운터를 사용하여 2 개의 변수를 사용하여 패턴을 인쇄하십시오.

X

XX

: 그러므로 출력한다 사용자가 5의 정수 프로그램 X 편지 입사 예를 들어 최대 폭

이 값에 따라 적절한 패턴을 출력 XXX

XXXX

xxxxx는

,

나는 아무것도 인쇄하지 못하는 것 같습니다, 아래는 제가 가지고있는 것입니다 .. 어떤 조언도 극도로 감사드립니다!

import java.util.*; 

public class pattern { 

    public static void main(String[] args) { 
     int New1 = 1, Linecounter = 1; 



     Scanner sc = new Scanner(System.in); 
     int Number = sc.nextInt(); 

     if (Number >= 1 && Number <= 10) { 
      Number = New1; 
     } 
      else{ 
      System.out.println("Error: Enter a number between 1 and 10"); 
     } 

     Scanner keyboard = new Scanner(System.in); 
     char letter = keyboard.next().charAt(0); 

     for (New1 = 1; New1 <= 10; New1++) { 
      for (letter = (char) Linecounter; letter <= 10; letter++) { 
       System.out.print("" +letter+ ""); 
      } 
      System.out.println(); 

     }}} 
+0

당신의 숙제입니까? (int j = 0; j iil

+1

'int inputNumber()'와'void printXs (int how_many)'메소드를 갖도록 프로그램을 구조화하면 삶이 갑자기 쉬워진다. 또한, 'New1'의 이름을 그 이름에서 명료하게하기 위해 이름을 바꾸십시오; 같게. – 9000

답변

0

첫째 :

if (Number >= 1 && Number <= 10) { 
      Number = New1; 
     } 
이 코드가 실행 된 후, 수 및 기능 1 두 1로 동일 = 1

설정 번호 당신은 어떤 곳을 원하는 숫자가 입력으로 설정됩니다. 이제 루프가 필요합니다. 다음과 같은 것이 있어야합니다.

for (int i = 1; i <= Number; i++) { //1 through Number 
    for (int j = 1; j <= i; j++) { 
     System.out.print(letter); //Print letter i times 
    } 
    System.out.print("\n"); //New line 
} 
0

그런가요?

int x = 5; 
char letter = 'x'; 

for (int i = 0; i <= x; i++) 
{ 
    for (int j = 0; j < i; j++) 
    { 
     System.out.print(letter); 
    } 

    System.out.println(); 
} 

위의 출력

x 
xx 
xxx 
xxxx 
xxxxx 
+0

네, 그렇습니다. 그러나 사용자는 원하는 정수 (1에서 10 사이)와 사용할 글자를 입력 할 수 있어야합니다. – JohnnyC

+0

@ JohnnyC 전체 예제가 정말 필요합니까? 원본 코드를이 코드와 함께 사용하면 원하는 결과를 얻을 수 있습니다. – Vallentin

0

이것은 숙제와 같아서 의사 코드를 가져올 것입니다.

for i in 1..x do 
    for j in 1..i do 
     print ('*') 
    end 
    println ('' 
end 

(당신이 putsprintln을 변경하면 사실이 유효한 루비 스크립트가됩니다) : 아이디어는 같은 것을 할 것입니다.

어쨌든, 여기 키는 사용자가 입력 한 행만큼 별표가 필요합니다. 내부 루프 에 별표를 인쇄하고 개행 문자를 인쇄하지 않고 바깥 쪽 루프에 println을 호출하면 문제가 없습니다. 바깥 쪽 루프에서 원하는 값까지 반복하는 것이 중요하지만 까지 내부 루프의 변수는 New1까지입니다.

0

이 시도 :

public static void main(String[] args) { 
    Scanner scan = new Scanner(System.in); 

    System.out.print("Integer: "); 
    int userInt = scan.nextInt(); 
    System.out.print("Letter: "); 
    String userLetter = scan.next(); 
    String letter = ""; 

    for (int i = 0; i <= userInt; i++) { 
     System.out.println(letter); 
     letter += userLetter; 
    } 
} 

이것은 당신이 그것에 대해 조금 if 문을 추가 할 수 있습니다, 입력이 1-10 사이에 제한하지 않습니다.

관련 문제