Bluej программа для отображения следующего шаблона для школьного проекта - PullRequest
0 голосов
/ 04 июня 2018

Я достаточно неплохо знаю Java в среде программирования BlueJ.Но я затрудняюсь написать циклическую функцию для создания этого шаблона.Любая помощь или указатели были бы очень полезны.

    1
    3 1
    5 3 1
    7 5 3 1
    9 7 5 3 1

Мой код пока ...

import java.util.*;
public class scanner {
    public static void main(){
        Scanner sc = new Scanner(System.in);
        int val = 1;
        for( int i=1; i < 5; i++){
            for(int j = 1; j > i; j--){
                System.out.print(j+" ");
                if(val != 1) {
                   System.out.print(1);
                }
                val +=1;
            }
            System.out.println();
        }
    }
}

1 Ответ

0 голосов
/ 04 июня 2018

Ваш подход слишком сложен.Я предлагаю вам определить ключевые переменные и использовать их для алгоритма.Кстати, вам не нужно использовать java.util.Scanner, поскольку вы не получаете никакого входного значения от консоли.

int end = 1;
int step = 2;
int rows = 5;

for (int i=0; i<rows; i++) {
    for (int j=0; j<i+1; j++) {
        int number = end + i*step - j*step;
        System.out.print(number + " ");
    }
    System.out.println();
} 

Вывод (убедитесь, что ):

1 
3 1 
5 3 1 
7 5 3 1 
9 7 5 3 1 

Кроме того, в вашем коде есть следующая строка:

for (int j = 1; j > i; j--) { ...

Этот цикл никогда не позволяет вводить свое тело из-за условия j > i и вычитания j.Я рекомендую вам отладить вашу программу и отслеживать значения i и j, чтобы понять, что происходит.

...