Duvida basica em java

4 respostas Resolvido
vetorjava
D

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  + " ");
        
    }
}

}

4 Respostas

A

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.

R

Acho que ela não entende desse jeito…

V
Solucao aceita

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.

A
// minha implementação

public static void main(String[] args) {

Scanner scan = new Scanner(<a href="http://System.in">System.in</a>);

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("");
			}
		}
Criado 9 de janeiro de 2019
Ultima resposta 9 de jan. de 2019
Respostas 4
Participantes 4