Ajuda Urgente Java

Por favor alguem em ajuda e urgente tenhu q fazer um codigo no eclipse , tenho q cadastrar 30 pessoas e seu respectivos salarios e depois mostrar tds e em seguida ver quem ganha mais e quem ganha menos

E o que vc já fez de código? Posta aí que o pessoal te ajuda…

Trabalho da fucu!?!?

Haha Suponho que isso seja algum exercício de faculdade… tá com cara…

Bom, isso é básico: você faz um laço “while” utilizando contador (ou mesmo um 'for"), além de criar variáveis para armazenar o último maior e menor valor.
Aqui vai (só pra estrear a minha conta no GUJ) usando Scanner como input:

import java.util.Scanner;

public class SuperCadastro {
public static void main(String[] args) {
int i; // Contador
float salário;
float maiorValor = 0; // Aqui virá o maior salário
float menorValor; // Aqui o menor...
Scanner leitor = new Scanner(System.in); // Objeto responsável por ler os dados digitados pelo usuário.

i = 0; // Zerando o contador - é bom fazer isso aqui por questões didáticas.
while(i<30) {
   System.out.print("Digite o salário do funcionário " + i + ": ");
   salário = leitor.nextFloat();
   // Isso garante a lógica do menor salário - dá pra usar IF, mas aí deixo pra vc! ;-)
   menorValor = (i==0) ? salário : menorValor;
   // Também dá pra usar IF
   menorValor = (salário < menorValor) ? salário : menorValor;
   // Outro que dá pra usar IF - fica contigo. Isso aqui faz o trabalho do maior salário.
   maiorValor = (salário > maiorValor) ? salário : maiorValor; 
   i++;
}
System.out.println("Maior salário: " + maiorValor);
System.out.println("Menor salário: " + menorValor);
}
}

Abraços!

deve ser exercicio de facul;
cara pega uns livros e tenta fazer algo
pelo menos a classe vc vai conseguir criar e trazer sua dúvida pronta e com algum codigo para implementar.

Pergunta ou resposta não sei, talvez eu esteja com dúvida também…

mas


i = 0;

while(i<10)  {} // isso não esta errado? 

certo…


i = true;

while(true) {} // isso ta certo.

Entendeu aí?

[quote=victorhsn]Pergunta ou resposta não sei, talvez eu esteja com dúvida também…

mas


i = 0;

while(i<10)  {} // isso não esta errado? 

certo…


i = true;

while(true) {} // isso ta certo.

Entendeu aí?[/quote]

Na condição do while ele apenas verificou se o valor de i é menor que 30. Se for, continuar o laço de repetição. Não tem nada de errado. Agora, a atribuição:

i = true;

Me parece estranha e desnecessária. Eu usaria outra estrutura de repetição que faz a mesma coisa de forma mais simples: o for:

for (int i = 0; i < 30; i++) {
    System.out.println("Olá mundo!"); // imprime "Olá mundo" 30 vezes
}

Não parece mais simples?

Eu tb sempre prefiro o for por um motivo simples: Muitas vezes vc esquece de iterar a variavel de controle ao final do laço e acaba ficando preso em um laço infinito…

Exato. Essa é uma gafe bem comum. Mas como a sintaxe do for “obriga” o programador a incrementar as devidas variáveis, já é uma mão na roda. :wink:

Brigadaum galera desculpa demora Vlw pessoal ^^ cs saum 10 anos xD
Aew eu fiz um realtorio sab e q tava desesperado pq tava enferrujado Bgdo a TDS …

Exato. Essa é uma gafe bem comum. Mas como a sintaxe do for “obriga” o programador a incrementar as devidas variáveis, já é uma mão na roda. :wink: [/quote]
Tu tem certeza de que o laço “for” “obriga” o programador a incrementar variáveis? Esse trecho aí embaixo funciona pelo que averiguei:

//equivale a while (true)
for (;;)
{
     System.out.println("estou num 'for' sem inicializacao, condicao ou incremento, que eh infinito");
}

Inté.

Por isso que o “obriga” ficou entre aspas. Mas nesse caso é o mesmo que while(true).