Ajuda com função em java

6 respostas
J

Tenha uma classe do cliente e outra do servidor que se comunicam uma com a outra, o cliente envia uma mensagem para o servidor e o servidor imprime a mensagem na tela, gostaria de saber uma função para quando a pessoa digitar uma palavra, o cliente imprimir tudo em letra maiuscula na tela, vou postar o codigo aqui embaixo pra ver se alguem pode me ajudar:

import java.io.*;
import java.net.*;
import java.util.Date;
 
public class MyServer extends Thread {
	private ServerSocket sock;//construtor
 
	public MyServer(int port) {//cada processo só pode ter uma porta
		super();
		try {
			sock = new ServerSocket(port);//abra o socket em determinada porta
			System.out.println("MyServer running at port " + port);
		} catch (IOException e) {
			System.out.println("Error: couldn't create socket.");
			System.exit(1);
		}
	}
 
	public void run() {
		Socket client = null;//cliente vai ser do tipo socket
 
		while (true) {//while infinito
			if (sock == null)
				return;
			try {
				client = sock.accept();//aceita a conexão
				System.out.println("Esperando...");
				// Recebendo identificacao
				BufferedReader in = new BufferedReader(new InputStreamReader(
						client.getInputStream()));//pega as informações do cliente
				String c = in.readLine(){;//cria string pra receber linha a linha do buffer
					System.out.println(c);//imprime a mensagem que recebeu
				// Enviando Informacoes
				BufferedOutputStream bos = new BufferedOutputStream(client
						.getOutputStream());//cria output
				PrintWriter os = new PrintWriter(bos, false);
 
				//Date now = new Date();//pega a data atual
				os.println("return of '" + c + "'");
				os.flush();//manda envia a mensagem pro buffer e pro cliente
				os.close();//fecha o print e write
				client.close();//fecha cliente
			} catch (IOException e) {
				System.out.println("Error: couldn't connect to client.");
				System.exit(1);
			}
		}
	}
 
	public static void main(String[] arguments) {
		int port = 4000;//porta default como 4000
		if (arguments.length == 1) {
			port = Integer.parseInt(arguments[0]);
		}
		MyServer server = new MyServer(port);//instancia o servidor
		server.start();
	}
}

6 Respostas

C
string.toUpperCase();
J

Essa função eu coloco ali na linha 32 depois de abrir as chaves né?

JARDEL_RODRIGUES

Isso, antes de enviar a mensagem no sysout.

Exemplo:

String fraseCliente;
	String FraseMaiusculas;
		socketRecepcao = new ServerSocket(6789);
		while (true) {
			Socket socketConexao = socketRecepcao.accept();
			System.out.println("Ip da máquina que solicita: "+socketConexao.getInetAddress().getHostAddress());
			BufferedReader doCliente = new BufferedReader(
					new InputStreamReader(
							socketConexao.getInputStream()));
			DataOutputStream paraCliente = new DataOutputStream(
					socketConexao.getOutputStream());
			fraseCliente = doCliente.readLine();
			FraseMaiusculas = fraseCliente.toUpperCase() + '\n';
			paraCliente.writeBytes(FraseMaiusculas);
J

E para diminuir, basta eu incliur só mais uma linha FraseMinusculas = fraseCliente.toDownCase() + ‘\n’; ?

E

Não existe “DownCase” e sim “LowerCase”.

J

Valeu mesmo, só colocar mais essa linha com lower e acho que funciona
:slight_smile:

Criado 15 de março de 2013
Ultima resposta 15 de mar. de 2013
Respostas 6
Participantes 4