While Java

Blz… Galera… to fazendo aqui um “comunicador”, na realidade
uma troca de mensagem entre dois objetos…
mais como que eu faria um laco while para repetir continuadamente as
trocas de mensagens…?
no meu codigo:
Usuario digita:
mensagens.
Usuario Digita:
mensagens
mais dae ele para pois não rentorna para repitir como faço?

não sei se está certo,mais me ajudem… valeu galera…
tá ai o meu codigo:

import java.util.Scanner;
public class Classe{
int classe;
int mensagem;

Scanner input = new Scanner (System.in);
public void MensagemTeste(){
System.out.println (“Insira uma mensagem”);
classe = input.nextInt();
mensagem = classe;
System.out.printf (“Mensagem classe: %s”, mensagem);
System.out.println("");
}

public void MensagemTeste1(){
System.out.println (“Insira uma mensagem”);
classe = input.nextInt();
mensagem = classe;
System.out.printf (“Mensagem classe1: %s”, mensagem);
System.out.println("");
}
}

Oi,

Onde está o while?

Tchauzin!

No caso eu não sei como fazer o while… :smiley:

nem sei se da certo…

A melhor forma de implementar isso seria utilizando threads.

Oi,

A ta! tudo bem, eu notei que existem 2 métodos na classe MensagemTeste() e MensagemTeste1()… onde você está chamando eles?

Tchauzin!

Claro! Para uma pessoa iniciante que não sabe implementar a função while, usar thread é uma ótima ideia :evil: :shock:

Tchauzin!

Eu estou chamando eles pela classe main…

[code]public class ClasseTeste{
public static void main (String args[]){

Classe classe = new Classe ();
Classe classe1 = new Classe();

classe.MensagemTeste();
classe1.MensagemTeste1();
}
}[/code]

Claro! Para uma pessoa iniciante que não sabe implementar a função while, usar thread é uma ótima ideia :evil: :shock:

Tchauzin![/quote]
E como implementar então? Eu não imagino como fazer isso sem ser de uma forma completamente procedural. Saber while ele sabe, só não sabe como neste caso. Eu também não saberia.

Oi,

A ta! tudo bem… vou colocar uma explicação da função while para primeiro você entender direitinho como ele funciona:

Quando queremos utilizar um bloco continuo (até que uma condição seja verdadeira), nós utilizamos o laço while

while(condição){ // sua codificacao aqui }

Essa condição dentro do método while, deve ser uma condição booleana (Diferente de outra linguagens)… Ou seja,

int numero = 0; while (numero < 5) { // Aqui será retornado 'true' ou seja, iniciamos a variavel numero = 0 e 0 é menor do que 5 syso("Oi"); numero++; }

Viu?

Tchauzin!

Claro! Para uma pessoa iniciante que não sabe implementar a função while, usar thread é uma ótima ideia :evil: :shock:

Tchauzin![/quote]
E como implementar então? Eu não imagino como fazer isso sem ser de uma forma completamente procedural. Saber while ele sabe, só não sabe como neste caso. Eu também não saberia.[/quote]

Oi,

Simples… olha um exemplo (arquivodecodigos):

[code]public class Estudos{
public static void main(String args[]){
Scanner in = new Scanner(System.in);
String palavra = “”;

while(!palavra.equals("fim")){
  System.out.print("Digite uma palavra: ");
  palavra = in.nextLine();
  System.out.println("Você escreveu: " + palavra);
}

System.exit(0);

}
} [/code]

Coloque o while onde você acha que fique melhor dentro da sua codificação.

Tchauzin!

[quote=lina]
Oi,

Simples… olha um exemplo (arquivodecodigos):

[code]public class Estudos{
public static void main(String args[]){
Scanner in = new Scanner(System.in);
String palavra = “”;

while(!palavra.equals("fim")){
  System.out.print("Digite uma palavra: ");
  palavra = in.nextLine();
  System.out.println("Você escreveu: " + palavra);
}

System.exit(0);

}
} [/code]

Coloque o while onde você acha que fique melhor dentro da sua codificação.

Tchauzin![/quote]
Completamente procedural, como eu havia dito. Mas deve ser exatamente o que ele quer, bom trabalho.

galera consegui fazer aqui… obrigado…
olhe o codigo, compilo e funcionou certinho…
agora tenho outra duvida, tipo eu to usando
esse comando variavel = input.nextInt(); para
capturar um int digitado, e para mim capturar
uma String qual uso?

[code]public class ClasseTeste{
public static void main (String args[]){
int mensagem = 1;
Classe classe = new Classe ();
Classe classe1 = new Classe();
do{
classe.MensagemTeste();
classe1.MensagemTeste1();
} while (mensagem != 0);

}
}[/code]

esse é o codigo que usa o comando variavel = input.nextInt();
import java.util.Scanner;

[code]public class Classe{

int classe;
int mensagem;

Scanner input = new Scanner (System.in);
public void MensagemTeste(){
System.out.println (“Insira uma mensagem”);
classe = input.nextInt();
mensagem = classe;
System.out.printf (“Mensagem classe: %s”, mensagem);
System.out.println("");
}

public void MensagemTeste1(){
System.out.println (“Insira uma mensagem”);
classe = input.nextInt();
mensagem = classe;
System.out.printf (“Mensagem classe1: %s”, mensagem);
System.out.println("");
}
}[/code]

Para String é somente input.next(). Aqui você pode ver todos os métodos da classe Scanner e suas especificações.

Cara eu não consegui fazer…
tem como vc me ajudar (sou iniciante):smiley:

import java.util.Scanner;
public class Classe{

   int classe;
   int mensagem;  
   
   Scanner input = new Scanner (System.in);   
   public void MensagemTeste(){       
   System.out.println ("Insira uma mensagem");
     classe = input.nextInt();
     mensagem = classe; 
   System.out.printf ("Mensagem classe: %d", mensagem);
   System.out.println("");
   }       

   public void MensagemTeste1(){
   System.out.println ("Insira uma mensagem");
     classe = input.nextInt();
     mensagem = classe;       
   System.out.printf ("Mensagem classe1: %d", mensagem);
   System.out.println("");
   }    
}

Oi,

De acordo com nosso amigo… testa isso.:

[code]int classe;
String mensagem;

   Scanner input = new Scanner (System.in);     
   public void MensagemTeste(){         
   System.out.println ("Insira uma mensagem");   
   mensagem = input.next();   
    
   System.out.printf ("Mensagem classe: %s", mensagem);   
   System.out.println("");   
   }         
  
   public void MensagemTeste1(){   
   System.out.println ("Insira uma mensagem");   
   mensagem = input.next();   
   System.out.printf ("Mensagem classe1: %s", mensagem);   
   System.out.println("");   [/code]

Tchauzin!

Não deu… ele da o seguinte erro:

incompatible types - found java.lang.String but expected int

Oi,

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

Tchauzin!

Boa Noite!
Galera to com um problema no seguinte exercicio [color=red]"Considerando um programa para calcular a soma de dois números entrados pelo usuário. A soma dos dois números é calculado uma vez e é perguntando ao usuário se será necessário a soma de mais dois números. O usuário pode responder ?sim? ou ?não?.[/color]

E resolvi o exercicio da seguinte maneira…

[code]public class Exercicio4 {

public static void main (String[] args){
					
	Scanner sc1 = new Scanner (System.in);
	System.out.println("Entre com o primeiro valor: ");
	int inValor1 = sc1.nextInt();
	System.out.println();
	
	Scanner sc2 = new Scanner (System.in);
	System.out.println("Entre com o segundo valor: ");
	int inValor2 = sc2.nextInt();
	System.out.println();
	
	int inResultado = inValor1 + inValor2;
	System.out.println("Resultado da some do numero " + inValor1 + " + " + inValor2 + " = " + inResultado );
	
	Scanner sc = new Scanner (System.in);
	System.out.println("Será nescessario soma mais 2 números? ");
	String strResposta = sc.nextLine();
	System.out.println();
	
	while(strResposta.equals("sim")){
		continue;
	}	
	while(strResposta.equals("não")){
		break;
	}		
}

}[/code]

Alguem pode me ajudar e me falar onde estou errando?

Valew

desculpem ficou faltando falar que não estou conseguindo executar o meu comando WHILE… Valew

Não tem nada dentro do while…

Coloque dentro dele o que você quer que repita.