Duvida bem basica [RESOLVIDO] VLWZ!

11 respostas
Say

Devo fazer um programa para receber 10 numeros quais queres e depois indicar o maior deles.
so fiz a parte de receber que nao deu certo num sei pq.
Alguem sabe o que ha de errado e o que posso fazer para indicar qual dos numeros vai ser o maior?

import java.util.*;


public class estudo {
	public static void main (String args[]){
		int i = 0;
		Scanner entrada = new Scanner(System.in);
		while (i<10){ //enquanto i<10 ele vai jogar o msg abaixo e receber o valor 0 de i no array
		System.out.println("Digite um numero: ");//depois disso ele ira somar i + 1 e verificar si a 
		int [] array[i] =  entrada.nextInt();//sentença ainda é verdadeira, caso sim ira refazer o proces
		i++;								//so, mas pondo o novo valor recebido como o array de posiçao 1
		            }
											}

					}

11 Respostas

lrgalego

De uma estudada em como utilizar arrays em java.
Você não está inicializando o seu array como devia.
Bons estudos. :smiley:

Say
fiz uma pequena modificaçao para inicializaçao do array agora to consegindo dar dois valores mas logo retorna um erro:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 at estudo.main(estudo.java:11)
import java.util.*;


public class estudo {
	public static void main (String args[]){
		int i = 0;
		Scanner entrada = new Scanner(System.in);
		int array[] = {i};
		while (i<=9){ //enquanto i<10 ele vai jogar o msg abaixo e receber o valor 0 de i no array
		System.out.println("Digite um numero: ");//depois disso ele ira somar i + 1 e verificar si a 
		 array[i] =  entrada.nextInt();//sentença ainda é verdadeira, caso sim ira refazer o proces
		i++;								//so, mas pondo o novo valor recebido como o array de posiçao 1
		            }
											}

					}
nakrak

Aqui tem algo…espero que ajude

http://www.guj.com.br/posts/list/32591.java

nakrak

esse tem
mesmo

http://www.plugmasters.com.br/sys/materias/535/1/Arrays-em-Java

http://javafree.uol.com.br/topic-856063-Como-imprimir-o-menor-e-o-maior-numero.html

aqui tem um exemplo especificoquase no meio da pagina

http://www.dsc.ufcg.edu.br/~jacques/cursos/p2/html/intro/intro.htm

Say

velho na mosca!

deu certin aki, vlw.
ja consigo receber os 10 valores agora é so fazer a qestao de dizer ql é o maior, mas vo deixar isto para manha
vlwzzz
segue codigo para caso algem tenha msm duvida

import java.util.*;


public class estudo {
	public static void main (String args[]){
		int i = 0;
		Scanner entrada = new Scanner(System.in);
		int array[] = new int[10];
		while (i<=9){ //enquanto i<10 ele vai jogar o msg abaixo e receber o valor 0 de i no array
		System.out.println("Digite um numero: ");//depois disso ele ira somar i + 1 e verificar si a 
		 array[i] =  entrada.nextInt();//sentença ainda é verdadeira, caso sim ira refazer o proces
		i++;								//so, mas pondo o novo valor recebido como o array de posiçao 1
		            }
											}

					}
nakrak

Oraculo :wink:

ccefetpb

Não acho que precise usar array .
Voce le um elemento fora e seta ele como o maior

maior = entrada.nextInt();

Depois faz um if pra testar se o valor que o usuario acabou de digitar e maior que “maior”

ViniGodoy
  1. Guarde na variável maior o primeiro número do array.
  2. Para cada número do array, teste se o número percorrido é maior que o que está guardado na variável maior. Se for maior, substitua o número da variável maior pelo número em questão.

Por exemplo, para o array:

1 2 10 5 6 90 0

Faremos:

  • Maior = 1
  • 2 é maior do que Maior(1) ? Sim. Então Maior = 2
  • 10 é maior do que Maior(2)? Sim. Então Maior = 10
  • 5 é maior do que Maior(10)? Não.
  • 6 é maior do que Maior(10)? Não.
  • 90 é maior do que Maior(90)? Sim. Então Maior = 90.
  • 0 é maior do que Maior(0)? Não.
  • O maior número é 90.
renamed

SAY

você só deve usar o array (ou uma lista) se realmente precisar “lembrar” de todos os elementos digitados (escrevê-los em ordem crescente, por exemplo)… nesse caso você precisa apenas de duas variáveis: uma com o elemento atual e outra com o maior de todos… o Vini descreveu a lógica toda acima, qualquer dúvida na implementação é só gritar!! =)

evertonsilvagomesjav

na pior das hipoteses vc pode fazer assim amigo

import java.util.ArrayList;
import java.util.List;

import javax.swing.JOptionPane;


public class Teste {

	
	public static void main(String[] args) {

		int numero;
		int i = 0;
		int maior = 0;
		
		List<Integer> listaNumero = new ArrayList<Integer>();
		
		while(i < 5){
		
		numero = Integer.parseInt(JOptionPane.showInputDialog("Digite 5 numeros"));
		
		listaNumero.add(numero);
		
		System.out.println(listaNumero.get(i));
		
		i++;
		}
		
		for(int contador=0; contador < listaNumero.size(); contador++){
			
			if(maior < listaNumero.get(contador)){
				maior = listaNumero.get(contador);
				
				System.out.println(maior);
			
			}else{
				continue;
			}
			
		}
		
		JOptionPane.showMessageDialog(null,"Maior Numero Digitado: " +maior);
	
	
}
}
thiagoponte

Eu fiz um exercício desse na cadeira de lógica. Mas o professor queria que fossem digitados valores até que o usuário digitasse -1 ou algum outro número específico.
Foi bem no início, então nada de array.

import java.util.Scanner;

public class Maior {
	public static void main(String[] args) {
		Scanner s = new Scanner (System.in);
		int contador = 0;
		System.out.println("Qual o valor?");
		int maior = s.nextInt();
		int atual;
		do {
			System.out.println("Qual o valor?");
			atual = s.nextInt();
			if (atual > maior){
				maior = atual;
				}
			contador++;
		}while (contador < 9);
		System.out.println("o maior valor é "+maior);
	}
}
Criado 30 de outubro de 2009
Ultima resposta 31 de out. de 2009
Respostas 11
Participantes 8