GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Duvida basica em java

java
vetor
Tags: #<Tag:0x00007f18622a8c40> #<Tag:0x00007f18622a8b00>

#1

Gente sou iniciante em java e to com uma duvida, que acho que é simples pra quem ja manja de java.
Meu problema é o seguinte, tenho que fazer um algoritmo que leia um numero inteiro e coloque na tela n linhas seguindo a estrutura a baixo:

caso o input seja o numero 10:

100 81 64 49 36 25 16 9 4 1
81 64 49 36 25 16 9 4 1
64 49 36 25 16 9 4 1
49 36 25 16 9 4 1
36 25 16 9 4 1
25 16 9 4 1
16 9 4 1
9 4 1
4 1
1

ja consegui fazer isso com uma linha so, e sem usar vetor, porém acho que para colocar na ordem descrescente vou precisar utilizar vetores, porém nao to conseguindo e também nao consigo repetir as linhas faltando um numero, como no exemplo, alguem pode me ajudar?

 import java.util.Scanner;

 public class Teste1 {
public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    int num, i;
    
    System.out.println("digite um numero acima de 0");
    num = scan.nextInt();
    
    for(i=1; i<=num; i++) {
        System.out.print(i * i  + " ");
        
    }
}   

}


#2

Oi,
Acho que consegui resolver mas passar o código pronto não é o ideal.
Você terá de fazer um loop adicional “por fora” do loop original.
Para que os números apareçam em ordem decrescente o for deve ser decrescente.


#3

Acho que ela não entende desse jeito…


#4

Boa noite amiga

Terrorismos com código é foda, ensinar em fórum é difícil mas a gente não precisa piorar…kkkkkk

public class Teste1 {

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

    System.out.print("Digite um numero acima de 0 > ");
    num = scan.nextInt();

    for (int a = 0; a < num; a++) {
        for (int b = (num - a); b != 0; b--) {
            System.out.print(b * b + " ");
        }
        System.out.println("");
    }
}

}  

Espero que ajude.


#5

// minha implementação
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int i, j, NumOriginal;

			System.out.println("digite um numero acima de 0");
			NumOriginal = scan.nextInt();

			for(j=NumOriginal; j>=1; j--)
			{
				for(i=j; i>=1; i--) {
					System.out.print(i * i  + " ");

				}
				System.out.println("");
			}
		}