Mês e estação do ano em Socket TCP!

Como criar um sistema que verifica qual é a estação do ano, utilizando sockets tcp, o cliente deverá solicitar o mês do ano e enviar ao servidor. O servidor verificará qual é a estação daquele mês e enviará a resposta ao cliente. O cliente deve imprimir a resposta.

verão - dezembro até março
outuno - março até junho
inverso - junho até setembro
primavera - setembro até dezembro.

como sou iniciante em JAVA, o máximo que eu consegui foi isso:

NO CLIENTE

import java.net.;
import java.io.
;
import javax.swing.JOptionPane;

public class Cliente {
public static void main(String[]args)throws Exception{
Socket Socketcliente = new Socket(“localhost”, 6078 ) ;
BufferedReader Entrada = new BufferedReader(new InputStreamReader(Socketcliente.getInputStream()));
PrintStream ps = new PrintStream(Socketcliente.getOutputStream());
String mesdoano = JOptionPane.showInputDialog(“Digite o mes do ano:”);

NO SERVIDOR

import java.net.;
import java.io.
;
import javax.swing.JOptionPane;

public class Servidor{
public static void main(String[]args)throws Exception{
ServerSocket servidor = new ServerSocket(6078 ) ;
Socket Socketcliente = new Socket();
JOptionPane.showMessageDialog(null, “Servidor Aguardando Conexões”);
Socketcliente = servidor.accept();
JOptionPane.showMessageDialog(null, “Conexão Estabelecida!”);
BufferedReader Entrada = new BufferedReader(new InputStreamReader(Socketcliente.getInputStream()));
PrintStream ps = new PrintStream(Socketcliente.getOutputStream());
String mesdoano = “”;
String recebida = “”;
mesdoano = Entrada.readLine();

Alguém poderia me ajudar a desennvolver esse sistema?

Bom, isso deve ajudar em alguma coisa:

http://www.guj.com.br/article.show.logic?id=126

http://www.guj.com.br/article.show.logic?id=8

http://java.sun.com/javase/6/docs/api/java/util/Calendar.html

Flw

Oi,

Bem vindo ao GUJ!

O seu problema está na comunicação socket ou no calculo para as estações do ano ?

Analisando seu código, falta o tratamendo de SEND no CLIENT e RECEIVE no SERVER…

Tchauzin!

[quote=lina]Oi,

Bem vindo ao GUJ!

O seu problema está na comunicação socket ou no calculo para as estações do ano ?

Analisando seu código, falta o tratamendo de SEND no CLIENT e RECEIVE no SERVER…

Tchauzin![/quote]

Olá amigo, como sou iniciante em JAVA, toh estudando sozinho e com a ajuda do FORUM GUI, o meu problema esta no calculo para as estações do ano, na comunicação eu entendi direitinho, se vc puder me ajudar, ficarei agradecido!!!

Oi,

Eu sou princesa e não principe. rs

Bom, não poderei ajudar na sua lógica para o calculo de datas pois estou um pouco na correria aqui…
Porém, tenho um exemplo que poderá ajuda-lo a bola essa lógica.

Segue:

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

	String 
	meses[] = {"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho","Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"};
	
	int 
	diasmes[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
	
	String primavera = "primavera", verao = "verão", outono = "outono", inverno = "inverno";
	
	String estacoes[] = { inverno, inverno, primavera, primavera, primavera, verao, verao, verao, outono, outono, outono, inverno};
	
	for (int mes = 0; mes < 12; mes++) {
		
		System.out.println
		(
			meses[mes] + " é um mês do(a)" +
			estacoes[mes] + " com " +
			diasmes[mes] + " dias."
		);
	}
}[/code]

Tchauzin!

Tenta algo como:

List<Integer> mesesVerao = new ArrayList<Integer>();

mesesVerao.add(Calendar.DECEMBER);

...

Faz isso para cada estação, ai no seu metodo de verificar a estação vc faz uma verificação para cada estação:

if (mesesVerao.contains(mes)) {
   return "Verão";
}

...

+/- por aí

Mas dá pra fazer bem melhor, tipo, criar uma classe para cada estação…e a classe contém os meses dela.

Ai vc faria tipo:

if (Verao.isMesEstacao(mes)) {
   return Verao.DESCRICAO;
}

Criar uma interface Estacao, a qual todas estações implementam, com o método isMesEstacao.

BOm, já dá pra brinca ae.

Flw