Iniciando em Java

14 respostas
Morpheus_PF

Olá pessoal
escutem estou começando com Java e tenhu que criar um vetor que leia um numero de variáveis digitadas pelo usuário e mostre depois na tela os valores minimo , máximo e a média
alguém ai sabe me dá uma luz de por onde eu começo???

por favor!!!

14 Respostas

claudneto

Comece criando o vetor e uma variável pra somar…

Dai vc cria um “for” pra varrer o vetor da posição “0” até a posição “nomedovetor.length”…

Dentro do FOR vc soma o valor que encontra-se na posição ‘i’ do vetor…

Fora do for vc divide a soma por i, faz comparações para ver o máximo e o mínimo…(não conheço funções para calcular máximo e mínimo)…

volnei

Trabalho de faculdade? O que você já conseguiu fazer?

Coloque seu código aqui que teremos prazer em ajudá-lo.

Morpheus_PF
/*
 * 1- perguntar qual o tamanho do vetor -> n (salário)
 * 2- de 0 até (n-1)
 *      1- digitar um número
 * 3- ao final, dizer
 *      1- a média
 *      2- o menor
 *      3- o maior  
 */

package teste2;

public class aula_18_08 {

    public static void main(String[] args) {
        System.out.println("Informe o número de meses:");
        int m = keyboard.readInt(); // recebe o número de meses
        int[] meses; // declarando vetor
        meses = new int[m]; // criando vetor
        
        // joga os salários para dentro dentro do vetor
        int soma = 0, menor = 0, maior = 0;
        for(int i = 0; i < m; i++){
            System.out.println("Informe o salário recebido:");
            meses[i] = keyboard.readInt();
            soma += meses[i]; // faz a soma dos salários
            
            // menor
            if(meses[i] <= meses[0]){
                menor = meses[i];
            }
            
            // maior
            if(meses[i] >= meses[0]){
                maior = meses[i];
            }
       }
        
        // média
        float media;
        media = soma/m;
        System.out.println("A media é " + media);
        
        // menor
        for(int i = 0; i < m; i++){
            
            if(meses[i] <= meses[i+1]){
                menor = meses[i];
                        
                      
            }
        }
        
        System.out.println("O menor salário é " + menor);
        
        // maior
        System.out.println("O maior salário é " + maior);
    }

}
Luiz_Augusto_Prado

Ficou massa seu codigo.
Acho que não precisava de vetores neste caso.
conhece JOptionPane

import javax.swing.JOptionPane;

float salario = 0;

float temp = 0;

float compareMaior=0;

float compareMenor=[telefone removido];
for()

{

salario += temp = Float.parseFloat(JOptionPane.showInputDialog(null,“Digite o salário:,Salário,JOptionPane.QUESTION_MESSAGE));

if( temp>compareMaior) compareMaior=temp;

if( temp<compareMenor) compareMenor=temp;

}

OBS: vc deve ficar atento se o usuário não deixou o campo vazio ou enviou uma variavel nula.

O

Brother, primeiro estude as convenções de código do java, use double em vez de float. Por fim, sua lógica pra achar os valores menor e maior está errada. Você foi no rumo, mas tá errada. Você testou? Não precisa do último for.
Dica: mude a inicialização e o teste das variáveis.
Boa sorte.

Diego_Lemos

Olá pessoal, também sou novato e nessa ultima semana ando acompanhando o “Java Básico” sempre que posso…achei este posta interessante, peguei o fonte e colei no NetBeans para fazer alguns testes encima dele, porém estou tendo problemas com a palavra keyboard.readInt() acredito que esteja faltando alguma biblioteca, podem me indicar aonde baixo esse tipo de arquivo e aonde coloco e como referencio isto no programa?

Segue print:

vismael

Quais as principais ferramentas para ser um bom programador em “JAVA”?

B

Diego Lemos:
Olá pessoal, também sou novato e nessa ultima semana ando acompanhando o “Java Básico” sempre que posso…achei este posta interessante, peguei o fonte e colei no NetBeans para fazer alguns testes encima dele, porém estou tendo problemas com a palavra keyboard.readInt() acredito que esteja faltando alguma biblioteca, podem me indicar aonde baixo esse tipo de arquivo e aonde coloco e como referencio isto no programa?

Segue print:

Declare um Scanner keyboard = new Scanner(System.in); no começo do código do main.

Um cérebro, de preferência saudável, e o Google.

Diego_Lemos

Bruno, obrigado pela força, mas não deu certo ainda.

Veja se fiz certo.

Dá erro em todas as linhas que tenham a palavra keyboard, no caso linhas 6, 9 e 17

package javaapplication2;

public class Main {

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

        System.out.println("Informe o número de meses:");
        int m = keyboard.readInt(); // recebe o número de meses
        int[] meses; // declarando vetor
        meses = new int[m]; // criando vetor
        
        // joga os salários para dentro dentro do vetor
        int soma = 0, menor = 0, maior = 0;
        for(int i = 0; i < m; i++){
            System.out.println("Informe o salário recebido:");
            meses[i] = keyboard.readInt();
            soma += meses[i]; // faz a soma dos salários
            
            // menor
            if(meses[i] <= meses[0]){
                menor = meses[i];
            }
            
            // maior
            if(meses[i] >= meses[0]){
                maior = meses[i];
            }
       }
        
        // média
        float media;
        media = soma/m;
        System.out.println("A media é " + media);
        
        // menor
        for(int i = 0; i < m; i++){
            
            if(meses[i] <= meses[i+1]){
                menor = meses[i];
                        
                      
            }
        }
        
        System.out.println("O menor salário é " + menor);
        
        // maior
        System.out.println("O maior salário é " + maior);
    }

}
Morpheus_PF
Pessoal consegui faze a biroska funfa!!!!!! olha só comé q fiko....
package teste2;

/**
 *
 * @author ra0896359
 */
public class JAVA_180808 {
  
  public static void main(String[] args) {
{
		int meses;
		int contador; //eh o mesmo usado como variavel "i". Vou usar no for
		//Declarando vetor. Note que o tamanho dele ainda nao foi definido.
		//O tamanho dele vai ser definido conforme entrada do usuario (meses)
		int[] vet;
		System.out.println("Digite o numero de meses:");
		meses = keyboard.readInt();
		//Construindo Vetor. Agora eu estou definindo o tamanho do vetor.
		vet = new int[meses];
		//Preenchendo Vetor......
		for (contador=0;contador<meses;contador++)
		{
			//o + serve para concatenar.
			//No caso, eu concateno a frase com o contador, que � o numero do mes
			System.out.println("Digite o salario do " + (contador+1) + " mes: ");
			vet[contador] = keyboard.readInt(); 
		}
		
		//Mostrando o Vetor
		System.out.print("["); //So enfeite
		for (contador=0;contador<meses;contador++)
		{
			System.out.print(vet[contador] + " ");
		}
		System.out.print("]"); //So enfeite
		
		//Media
		int soma = 0;
		for (contador=0;contador<meses;contador++)
		{
			soma = soma + vet[contador];
		}
		float media = soma/meses;
		System.out.print("A soma eh: " + soma);
		System.out.println("A m�dia eh: " + media);
		
		//Maior Valor
		int maior = vet[0];
		for (contador=1;contador<meses;contador++)
		{
			if (maior < vet[contador])
			{
				System.out.println(maior + " eh menor que: " + vet[contador] + ". Mudando valor.");
				maior = vet[contador];
			}
			else
			{
				System.out.println(maior + " eh maior que: " + vet[contador] + ". Mantendo valor.");
			}
		}
		
		//Menor Valor
		int menor = vet[0];
		for (contador=1;contador<meses;contador++)
		{
			if (menor > vet[contador])
			{
				System.out.println(menor + " eh maior que: " + vet[contador] + ". Mudando valor.");
				menor = vet[contador];
			}
			else
			{
				System.out.println(menor + " eh menor que: " + vet[contador] + ". Mantendo valor.");
			}
		}

		System.out.println("Media : " + media);
	        System.out.println("Maior : " + maior);
		System.out.println("Menor : " + menor);
}
  }
}
Morpheus_PF

a diego o keyboard é uma classe igual a scanner eu vou postar ela aqui se kizer copiar pra ti salva ela como .java e deixa no src do netbeans que poderá lincar ela a kalker calsse que tu crie…

/*
  Name:        Keyboard.java
  Copyright:   Version 1.0
  Author:      Lewis and Loftus
  Date:        02/03/2005
  Description: Facilitates keyboard input by abstracting details about input
					parsing, conversions, and exception handling.
  Updates:
  	10/11/2005 - Rodrigo L. S. Silva - readLine Method created
*/
package teste2;
import java.io.*;
import java.util.*;

public class keyboard
{
   //*************  Error Handling Section  **************************
   private static boolean printErrors = true;
   private static int errorCount = 0;

   //-----------------------------------------------------------------
   //  Returns the current error count.
   //-----------------------------------------------------------------
   public static int getErrorCount()
   {
      return errorCount;
   }

   //-----------------------------------------------------------------
   //  Resets the current error count to zero.
   //-----------------------------------------------------------------
   public static void resetErrorCount (int count)
   {
      errorCount = 0;
   }

   //-----------------------------------------------------------------
   //  Returns a boolean indicating whether input errors are
   //  currently printed to standard output.
   //-----------------------------------------------------------------
   public static boolean getPrintErrors()
   {
      return printErrors;
   }

   //-----------------------------------------------------------------
   //  Sets a boolean indicating whether input errors are to be
   //  printed to standard output.
   //-----------------------------------------------------------------
   public static void setPrintErrors (boolean flag)
   {
      printErrors = flag;
   }

   //-----------------------------------------------------------------
   //  Increments the error count and prints the error message if
   //  appropriate.
   //-----------------------------------------------------------------
   private static void error (String str)
   {
      errorCount++;
      if (printErrors)
         System.out.println (str);
   }

   //*************  Tokenized Input Stream Section  ******************

   private static String current_token = null;
   private static StringTokenizer reader;

   private static BufferedReader in = new BufferedReader
      (new InputStreamReader(System.in));

   //-----------------------------------------------------------------
   //  Gets the next input token assuming it may be on subsequent
   //  input lines.
   //-----------------------------------------------------------------
   private static String getNextToken()
   {
      return getNextToken (true);
   }

   //-----------------------------------------------------------------
   //  Gets the next input token, which may already have been read.
   //-----------------------------------------------------------------
   private static String getNextToken (boolean skip)
   {
      String token;

      if (current_token == null)
         token = getNextInputToken (skip);
      else
      {
         token = current_token;
         current_token = null;
      }

      return token;
   }

   //-----------------------------------------------------------------
   //  Gets the next token from the input, which may come from the
   //  current input line or a subsequent one. The parameter
   //  determines if subsequent lines are used.
   //-----------------------------------------------------------------
   private static String getNextInputToken (boolean skip)
   {
      final String delimiters = " \t\n\r\f";
      String token = null;

      try
      {
         if (reader == null)
            reader = new StringTokenizer
               (in.readLine(), delimiters, true);

         while (token == null ||
                ((delimiters.indexOf (token) >= 0) && skip))
         {
            while (!reader.hasMoreTokens())
               reader = new StringTokenizer
                  (in.readLine(), delimiters,true);

            token = reader.nextToken();
         }
      }
      catch (Exception exception)
      {
         token = null;
      }

      return token;
   }

   //-----------------------------------------------------------------
   //  Returns true if there are no more tokens to read on the
   //  current input line.
   //-----------------------------------------------------------------
   public static boolean endOfLine()
   {
      return !reader.hasMoreTokens();
   }

   //*************  Reading Section  *********************************

   //-----------------------------------------------------------------
   //  Returns a string read from standard input.
   //-----------------------------------------------------------------
   public static String readString()
   {
      String str;

      try
      {
         str = getNextToken(false);
         while (! endOfLine())
         {
            str = str + getNextToken(false);
         }
      }
      catch (Exception exception)
      {
         error ("Error reading String data, null value returned.");
         str = null;
      }
      return str;
   }

   //-----------------------------------------------------------------
   //  Returns a string read from standard input.
   //-----------------------------------------------------------------
   public static String readLine()
   {
      String str;

      try
      {
         str = getNextToken(false);
         while (! endOfLine())
         {
            str = str + getNextToken(false);
         }
      }
      catch (Exception exception)
      {
         error ("Error reading String data, null value returned.");
         str = null;
      }
      return str;
   }

   //-----------------------------------------------------------------
   //  Returns a space-delimited substring (a word) read from
   //  standard input.
   //-----------------------------------------------------------------
   public static String readWord()
   {
      String token;
      try
      {
         token = getNextToken();
      }
      catch (Exception exception)
      {
         error ("Error reading String data, null value returned.");
         token = null;
      }
      return token;
   }

   //-----------------------------------------------------------------
   //  Returns a boolean read from standard input.
   //-----------------------------------------------------------------
   public static boolean readBoolean()
   {
      String token = getNextToken();
      boolean bool;
      try
      {
         if (token.toLowerCase().equals("true"))
            bool = true;
         else if (token.toLowerCase().equals("false"))
            bool = false;
         else
         {
            error ("Error reading boolean data, false value returned.");
            bool = false;
         }
      }
      catch (Exception exception)
      {
         error ("Error reading boolean data, false value returned.");
         bool = false;
      }
      return bool;
   }

   //-----------------------------------------------------------------
   //  Returns a character read from standard input.
   //-----------------------------------------------------------------
   public static char readChar()
   {
      String token = getNextToken(false);
      char value;
      try
      {
         if (token.length() > 1)
         {
            current_token = token.substring (1, token.length());
         } else
            current_token = null;

         value = token.charAt (0);
      }
      catch (Exception exception)
      {
         error ("Error reading char data, MIN_VALUE value returned.");
         value = Character.MIN_VALUE;
      }

      return value;
   }

   //-----------------------------------------------------------------
   //  Returns an integer read from standard input.
   //-----------------------------------------------------------------
   public static int readInt()
   {
      String token = getNextToken();
      int value;
      try
      {
         value = Integer.parseInt (token);
      }
      catch (Exception exception)
      {
         error ("Error reading int data, MIN_VALUE value returned.");
         value = Integer.MIN_VALUE;
      }
      return value;
   }

   //-----------------------------------------------------------------
   //  Returns a long integer read from standard input.
   //-----------------------------------------------------------------
   public static long readLong()
   {
      String token = getNextToken();
      long value;
      try
      {
         value = Long.parseLong (token);
      }
      catch (Exception exception)
      {
         error ("Error reading long data, MIN_VALUE value returned.");
         value = Long.MIN_VALUE;
      }
      return value;
   }

   //-----------------------------------------------------------------
   //  Returns a float read from standard input.
   //-----------------------------------------------------------------
   public static float readFloat()
   {
      String token = getNextToken();
      float value;
      try
      {
         value = (new Float(token)).floatValue();
      }
      catch (Exception exception)
      {
         error ("Error reading float data, NaN value returned.");
         value = Float.NaN;
      }
      return value;
   }

   //-----------------------------------------------------------------
   //  Returns a double read from standard input.
   //-----------------------------------------------------------------
   public static double readDouble()
   {
      String token = getNextToken();
      double value;
      try
      {
         value = (new Double(token)).doubleValue();
      }
      catch (Exception exception)
      {
         error ("Error reading double data, NaN value returned.");
         value = Double.NaN;
      }
      return value;
   }
}
B

Diego Lemos:
Bruno, obrigado pela força, mas não deu certo ainda.

Veja se fiz certo.

Dá erro em todas as linhas que tenham a palavra keyboard, no caso linhas 6, 9 e 17

Como eu disse, declare a variável antes de usá-la:

Scanner keyboard;
keyboard = new Scanner(System.in);

Edit: E importe a classe para poder usá-la… O Netbeans deve te ajudar nisso.

Diego_Lemos

Obrigado Morpheus_PF e Bruno, deu certo!!!

O

O método da Scanner é nextInt e não readInt.

Criado 18 de agosto de 2008
Ultima resposta 20 de ago. de 2008
Respostas 14
Participantes 8