Eu e outro tópico! E é trabalho p facul sim!

[i]Bom o professor passou uns exercícios e no segundo já emperrei. Só vai resolver em sala dia 13/09/ mais só recebe até dia 10/09 e vale p nota ap1. Só quero usar esse tópico p tirar umas dúvidas prq não lembro de ter visto como fazer isso em sala de aula. É meu primeiro semestre e acho q a 4ª ou 5ª aula. Não quero que ninguém resolva senão pagaria a alguém pra fazer isso, uns toques já basta.

  1. Primeiro exercício.
    Esse fiz e deu blz.
    Escrever true se um número A> num B e false se num A < num B com números sendo informados pelo teclado então a classe Scanner.

[code] // Compara inteiros utilizando instruções if, operadores relacionais
// e operadore de igualdade.
import java.util.Scanner; // programa utiliza a classe Scanner

public class Exercício1
{
// método principal inicia a aplicação do aplicativo Java
public static void main (String args[])
{
// Cria Scanner para obter a entrada a partir da janela de comando
Scanner input = new Scanner (System.in);

     int number1; // primeiro número a comparar
     int number2; // segundo número a comparar

     System.out.println ("Digite o numero equivalente a A: " ); // prompt
     number1 = input.nextInt(); // lê o primeiro número fornecido pelo usuário que equivale a A

     System.out.println ("Digite o numero equivalente a B: "); // prompt 
     number2 = input.nextInt(); // lê o segundo número fornecido pelo usuário que equivale a B

     if (number1 > number2)
        System.out.println ("true");

     if (number1 < number2)
        System.out.println ("false");

  } // fim do método principal

} // fim da classe Exercício1 [/code]

Exercício2
Já torrei o juízo nesse rsrs
Nesse deve informar idade e nome via teclado ( novamente classe Scanner ) e depois apresentar a diferença das idades ( operador aritmético MOD ou % ou dá no mesmo ou estou confundindo isso também :shock: ).
O exercício anterior deu certo prr usavam tipos inteiros, porém agora tenho que usar também string ( texto ).
Fiz assim e está dando 5 erros:
Primeiro segue a mensagem do prompt:

C:\>javac Exercício2.java ExercÝcio2.java:19: cannot find symbol symbol : class string location: class ExercÝcio2 string Carlos = input.next(); ^ ExercÝcio2.java:19: Carlos is already defined in main(java.lang.String[]) string Carlos = input.next(); ^ ExercÝcio2.java:22: idadeCarlos is already defined in main(java.lang.String[]) int idadeCarlos = input.nextInt(); // lÛ o primeiro n·mero ^ ExercÝcio2.java:25: Renato is already defined in main(java.lang.String[]) String Renato = input.next(); // lÛ o segundo nome ^ ExercÝcio2.java:28: idadeRenato is already defined in main(java.lang.String[]) int idadeRenato = input.nextInt(); // lÛ o segundo n·mero ^ 5 errors

Agora meu código sem noção :lol:

[code] import java.util.Scanner; // programa utiliza a classe Scanner

public class Exercício2
{
// método principal inicia a aplicação do aplicativo Java
public static void main (String args[])
{
// Cria Scanner para obter a entrada a partir da janela de comando
Scanner input = new Scanner (System.in);

     String Carlos;
     String Renato;
     int idadeCarlos;
     int idadeRenato;

     System.out.println ("Digite o nome:" );
     string Carlos = input.next();

      System.out.println ("Digite a idade:");
      int idadeCarlos = input.nextInt(); // lê o primeiro número

     System.out.println ("Digite o nome:" );
     String Renato = input.next(); // lê o segundo nome

      System.out.println ("Digite a idade:");
      int idadeRenato = input.nextInt(); // lê o segundo número

      int diferença = (idadeCarlos % idadeRenato);
 }

} [/code]

Já agradeço o reforço :). Vlw. [/i]

Aqui esta o erro :

System.out.println ("Digite o nome:" );   
string Carlos = input.next();   
  
System.out.println ("Digite a idade:");   
int idadeCarlos = input.nextInt(); // lê o primeiro número   
  
System.out.println ("Digite o nome:" );   
String Renato = input.next(); // lê o segundo nome   
  
System.out.println ("Digite a idade:");   
int idadeRenato = input.nextInt(); // lê o segundo número   
  
int diferença = (idadeCarlos % idadeRenato);   

O erro ja esta falando "Carlos is already defined in main(java.lang.String[]) " e a mesma coisa pra outras variaveis.
Vc ja definiu, Carlos, idadeCarlos, Renato, idadeRenato na primeira parte do codigo:

String Carlos;   
String Renato;   
int idadeCarlos;   
int idadeRenato; 

Se vc faz :

string Carlos = input.next();   

Vc esta definindo a string Carlos novamente. Percebeu onde vc errou ?

Vc pode fazer o seu programa de dois jeitos, ou vc define as variaveis e atribui valores a elas posteriormente ou vc cria e atribui o valor, pode ser feitos dos dois jeitos.

Portanto se vc mudar o seu codigo pra:

System.out.println ("Digite o nome:" );   
Carlos = input.next();   
  
System.out.println ("Digite a idade:");   
idadeCarlos = input.nextInt(); // lê o primeiro número   
  
System.out.println ("Digite o nome:" );   
Renato = input.next(); // lê o segundo nome   
  
System.out.println ("Digite a idade:");   
idadeRenato = input.nextInt(); // lê o segundo número   
  
int diferença = (idadeCarlos % idadeRenato);   

Provavelmente vc nao tera mais esses erros

Vc perguntou tb do operador mod (%), bem esse operador retorna o resto da divisao, por exemplo:

10 / 3 = 3
10 % 3 = 1

Nao entendi porque o seu professor quer que vc calcule a diferenca das idades usando operador mod mas enfim, eh isso que ele faz.

//Daniel

Outro aviso importante:

Quando você criou a variável Carlos na primeira vez, você o fez corretamente, usando a classe String (com o S maiúsculo). Já na segunda, digitou o s minúsculo e, Java é case sensitive (letras maiúsculas e minúsculas são totalmente diferentes).

[code]//correto
String Carlos;
String Renato;

//errado
string Carlos;
string Renato;[/code]

Tome sempre este cuidado.

Bom dia! Primeiramente, tome muito cuidado com o que o windsofhell e o rmsites disseram… Vai te ajudar muito nos seus próximos projetos!

Com o que foi dito voce deve conseguir resolver os problemas, mas vou dar algumas dicas.

- evite utilizar acentuação (ç, ^, ~, ´, etc) em códigos (sejam Java ou não), pois isto pode complicar sua vida em alguns casos (que não cabe falar aqui).

- como os dados vao ser digitados pelo usuário, coloque nomes comuns nas variáveis (ex: ao invés de String Carlos, coloque String nomeA e String nomeB)

- outra coisa utilizada nos códigos (principalmente Java) é o padrão “cammel case”, que consiste em diferenciar as palavras que dão nome às variaveis. A primeira palavra toda em minúsculo e a primeira letra das palavras subsequentes em maiúsculo. Ex: ao invés de String NomeProprioPessoa = “” ou String nomepropriopessoa = “”, coloque String nomeProprioPessoa = “”, sacou???

- No seu problema citado, você quer achar a diferença entre as idades? Se for, não caberia o MOD nem o %, pois eles te darão o resto da divisão de uma idade pela outra, ou seja, se você dividir 5 por 2, o resultado é 2 e o resto é 1. O MOD e o % te mostrarão o resultado 1 então!
Creio que você devesse usar a subtração mesmo, diferenca = idadeA - idadeB

- Não se esqueça de mostrar o resultado… ou é só pra calcular e guardar? rs…

Isto foi minha opinião e dicas PESSOAIS, muitos podem discordar de mim, mas é o que eu utilizo e o que vejo ser utilizado também!

Espero ter ajudado!
Abraços

Ei pessoal, grande ajuda a de vcs!!! Ajudaram muito mesmo! Corrigi o código e ainda revisei a matéria com as observações feitas aqui! Vlw mesmo. Vou p o terceiro exercício agora, isso só quando chegar da aula a noite. Qualquer dúvida continuarei a postar. Quando ao professor ter pedido pra utilizar nesse exercício o operador % (módulo ) não foi ele quem pediu, era eu que estava viajando longe com isso!!! :shock:.
Vou colocar o código p vcs verem como ficou os ajustes.

[code]// Programa mostra a diferença entre idades. Nomes e números recebem informações via teclado.

import java.util.Scanner; // programa utiliza a classe Scanner

public class Exercício2
{
// método principal inicia a aplicação do aplicativo Java
public static void main (String args[])
{

     // Cria Scanner para obter a entrada a partir da janela de comando
     Scanner input = new Scanner (System.in);

     String nomeA; // primeiro nome a ler
     String nomeB; // segundo nome a ler
     int idadeA; // primeiro número a comparar
     int idadeB; // segundo nome a comparar

     System.out.println ("Digite o nome:" ); // prompt
     nomeA = input.next(); // lê o primeiro nome fornecido pelo usuário

     System.out.println ("Digite a idade:"); // prompt
     idadeA = input.nextInt(); // lê o primeiro número fornecido pelo usuário

     System.out.println ("Digite o nome:" ); // prompt
     nomeB = input.next(); // lê o segundo nome fornecido pelo usuário

     System.out.println ("Digite a idade:"); // prompt
     idadeB = input.nextInt(); // lê o segundo número

     int diferença = (idadeA - idadeB);
     System.out.println ("Resultado: " + diferença );

  } // fim do método principal

} // fim da classe Exercício2
[/code]
[i] Vlw mesmo!!!

Isso ae brother! A idéia é essa… A classe sua que ficou com a acentuação né… ( exercício …) mas o resto é isso mesmo!

Eu tb aprendo muito aqui, pq tb sou novo em Java…

Valeu!

Corrigindo isso também Rafael! O Exercício 3 já nomeei assim: Exercicio3
Estou fazendo o Exercício 4 que na verdade está Exercicio4 porém estou com uma dúvida: O problema é simples: uma classe de 10 alunos. Ler o nome e notas de da AP1 via teclado e depois mostrar quanto precisam tirar na AP2 p ficarem com média 7.
O que quero saber é se posso usar arrays com a classe Scanner e se posso como faço isso?
Thank’s.

Vc pode user um array sim.

O que vc precisa decidir eh se vc quer entrar com todos os valores primeiro e depois imprimir todos os resultados ou vc quer assim que vc entrar com os dados pra um aluno ja mostrar o quanto ele precisa tirar na p2 pra tirar media 7.

A primeira opcao vc pode fazer um loop e ir carregando os valores num array, Depois faz outro loop percorrendo esse array, calcula quanto precisa na p2 e mostra na tela.

Segunda opcao (e mais facil) seria so adicionar um loop de 1 a 10, pegar os valores igual vc esta fazendo nos outros programas, calcular e imprimir na tela.

//Daniel

[quote]windsofhell 06/09/2008 16:51:05 Assunto: Re:Eu e outro tópico!!! E é trabalho p facul sim!!!


Vc pode user um array sim.

O que vc precisa decidir eh se vc quer entrar com todos os valores primeiro e depois imprimir todos os resultados ou vc quer assim que vc entrar com os dados pra um aluno ja mostrar o quanto ele precisa tirar na p2 pra tirar media 7.

A primeira opcao vc pode fazer um loop e ir carregando os valores num array, Depois faz outro loop percorrendo esse array, calcula quanto precisa na p2 e mostra na tela.

Segunda opcao (e mais facil) seria so adicionar um loop de 1 a 10, pegar os valores igual vc esta fazendo nos outros programas, calcular e imprimir na tela.

//Daniel
[/quote]

Blz Daniel. Digamos do modo mais fácil.
Se fizer assim vou ter que mudar o quê. Já deu 6 erros :shock: rsrs
Dá umas coordenadas blz?!

[code] import java.util.Scanner; // programa utiliza a classe Scanner

public class Exercicio4
{
// método principal inicia a aplicação do aplicativo Java
public static void main (String args[])
{

     // Cria Scanner para obter a entrada a partir da janela de comando
     Scanner input = new Scanner (System.in);

     String nomeAluno[];
     nomeAluno = new String[9];
     real notaAp1[];
     nota Ap1 = new real[9];
   
     System.out.println ("Digite o nome do aluno:" ); // prompt
     nomeAluno = input.next(); // lê o primeiro nome fornecido pelo usuário

     System.out.println ("Digite a nota da AP1:"); // prompt
     real notaAp1 = input.nextInt(); // lê o primeiro número fornecido pelo usuário
     
     int media = 7;
     real deveTirarAp2 = ( media - notaAp1 );
     System.out.println ( deveTirarAp2 );

 }

} [/code]

vou comentar as coisas que eu vi errado no seu codigo :

String nomeAluno[];  
nomeAluno = new String[9];  
real notaAp1[];  
nota Ap1 = new real[9];

Nao precisa ser string array, somente string porque vc vai pegar somente um nome de cada vez.
Nao existe tipo de dado real,

Outro erro :

System.out.println ("Digite a nota da AP1:"); // prompt  
real notaAp1 = input.nextInt(); // lê o primeiro número fornecido

De novo tipo real nao existe e se existisse, vc ja definiu real la em cima, podeia ser somente notaAp1.

real deveTirarAp2 = ( media - notaAp1 );  

De novo real.

Ai eu fiz umas modificacoes no seu codigo:

import java.util.Scanner;

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

      	        String nomeAluno;    	  
    	        int notaAp1;
    	        int Ap1 ;
             	int media ;
        	int deveTirarAp2;
    	
        	for (int i = 0 ; i < 10; i++) {
    	
    	        	System.out.println ("Digite o nome do aluno:" ); 
    		        nomeAluno = input.next(); 
    	  
         		System.out.println ("Digite a nota da AP1:"); 
    	         	notaAp1 = input.nextInt(); 
    	  
    		        media = 7;
        		deveTirarAp2 = ( media - notaAp1 );
    	
         		System.out.println ( "Precisa tirar : " + deveTirarAp2 );
    		
         	}
    	  	
	}	
	   
}

//Daniel

Se eu fosse fazer isso digitando todos os dados de uma vez no teclado, no caso o nome dos dez alunos, faria como fiz no código que vc corrigiu? Ou seja:

String nomeAluno[]; nomeAluno = new String[9];

[quote]
Nao existe tipo de dado real[/quote]
E se eu precisar de um número real tipo 4,5. Quando executo no código que vc montou dá erro, ou seja, quando coloco um número real.
[i]Sei que já estou sendo abusado, mais se der explica essa linha 15 do teu código…Eu poderia usar o while em vez de for?!Mudaria alguma coisa na construção da linha?! Vlw e ótimo domingo.[/i]

Olá Dan, no caso essa linha aqui:

[code] for (int i = 0 ; i < 10; i++)

For // laço de repetição

(int i=0; i<10; i++) // é a condição do laço,
[/code]

sendo que:

int i=0 // declara uma variável inteira, com o valor 0
i<10 // enquanto i for menor que 10, continue executando o bloco de código (entra no loop se for true)
i++ // incrementa em 1 o i, poderia ser assim i=i+1

com while seria:


int i=0;
while(i<10){

...

i++; // ou i=i+1
}

[quote]thinet 08/09/2008 10:14:29 Assunto: Eu e outro tópico!!! E é trabalho p facul sim!!!


Olá Dan, no caso essa linha aqui:

[/quote]

Vlw pela explicação thinet.
Perguntar pra alguém se tem como isso aqui funcionar e apresentar os resultados.

[code]public class Exercicio5
{
// método principal inicia a aplicação do aplicativo Java
public static void main (String args[])
{

       byte a = 1;
       byte b = 2;
       byte c = 3;
       float x = 2.5;
       float y = 10.0;
       float z = -1.0;
       String name = "Pedro";
       String rua = "15";
       boolean longe = true;

       if (nome == rua)
       if (x > y && c < = b)
       if ( c - 3 * a) < (x + 2 * z)
       if (((y / 20 = x) || ((b * 2) >= (a + c)))
       if (! longe)
       if (! c = b && x + y <= 20 || longe != true) 
  }

}[/code]

Sendo só para apresentar os resultados poderia colocar o System.out. … (“false”) ou (“true”), e na verdade acho q o professor quer só isso mesmo. Mais fiquei curioso pra saber se tem como o java fazer e depois mostrar os resultados boolean.

Bom pessoal tô aqui d novo.
O professor quer isso
EX4. Crie um programa para inserir, deletar,
procurar, e alterar alunos da turma de POO de 30
alunos.
Um aluno tem as seguintes informações:
Nome;
Matrícula;
Ap1;
Ap2;
Ef;
Freqüência na disciplina.

Tentando começar a fazer porém já está com alguns erros…
O meu código segue abaixo

[code]
mport java.util.Scanner;

public class Exercicio4A
{

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

        String nomeAluno;           
        String matricula;
        float notaAp1;   
        float notaAp2; 

       for (float i = 0 ; i < 30; i++) 
       {

       if(aluno [i].nome = nomeAluno)
       {

       System.out.println("Achou!")
       System.out.println("Aluno: " + alunos[i]);
       System.out.println("Posição: " + i);
       break;
       }


        System.out.println ("Digite o nome do aluno:" );   
        nomeAluno = input.nextLine();   
         
        System.out.println ("Digite a nota da AP1:");   
        notaAp1 = input.nextFloat(); 
        input.nextLine();  

        System.out.println ("Digite a nota da AP2:");   
        notaAp1 = input.nextFloat(); 
        input.nextLine();  

        }

  }

}[/code]
Meio perdido mesmo, é primeiro semestre e tem mais 4 disciplinas p ver!!! Alguém puder dar uma diretriz de como faço isso agradeço. Vlw.

Cadê a classe Aluno?