Programa simples

Fala galera

Alguem podia me ajudar a fazer um programa simple para console. Ler um inteiro, um real e string. Vi o exemplo abaixo em um livro mais o copilador não reconhece o ‘Input’ tem alguma coisa errada com o programa ou à uma outra maneira de ler essas variaveis estaticamente.

agradeço a quem poder ajudar

//Programa simples que ler um inteiro, real e nome

public class simples {

public static void main (String args[]){

  try {

    System.out.print("

Digite um n£mero inteiro: “);
int i = Input.readInteger();
System.out.println(”
Vo‡e digitou o valor : " + i);

    System.out.print("

Digite um n£mero real: “);
float f = Input.readFloat();
System.out.println(”
Vo‡e digitou o valor : " + f);

    System.out.print("

Digite um String: “);
String s = Input.readString();
System.out.println(”
Vo‡e digitou o valor : " + s);
}
catch(Exception erro){
System.out.println("
Erro de leitura.");

  }

}

}

:smiley:

T+

Provavelmente faltou uma parte do seu exemplo que no caso seria a implementacao da classe “Input”. Por isso que dah erro de compilacao.

alterei o seu codigo para ele funcionar sem a necessidade da classe Input. Ai vc pode ver como se faz para tratar a entrada via console (atraves do System.in)

import java.io.BufferedReader;
import java.io.InputStreamReader;

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

		try { 

			BufferedReader input = new BufferedReader(new InputStreamReader(System.in));

			System.out.print("Digite um numero inteiro: ");			 
			int i = Integer.parseInt(input.readLine()); 
			System.out.println("Voce digitou o valor : " + i); 

			System.out.print("Digite um numero real: "); 
			float f = (float)Double.parseDouble(input.readLine()); 
			System.out.println("Voce digitou o valor : " + f); 

			System.out.print("Digite um String: ");
			String s = input.readLine(); 
			System.out.println("Voce digitou o valor : " + s); 
		} 
		catch(Exception erro){ 
			System.out.println("Erro de leitura."); 
		}	
		
	} 

}

haahhaa… agora q vi uma besteira que fiz… :stuck_out_tongue:

dah pra trocar a linha

float f = (float) Double.parseDouble(…);

por

float f = Float.parseFloat(…);

Obrigado pela ajuda FLC

:frowning:

Só mais uma coisa, se FLC poder me responder. da maneira como está as variáveis estão sendo lidas estaticamente ou não.

oi,

nao entendi direito o que vc quis dizer com “as variaveis estao sendo lidas estaticamente”… se vc puder explicar melhor sua duvida eu posso tentar ajudar! :wink:

Oi, FLC

espero que vc me perdoi por nao ter respondido antes pois por outros motivos, só posso usar o forum no fim de semana.

gostaria de entender melhor as linhas abaixo:

BufferedReader input = new BufferedReader(new InputStreamReader(System.in));

Me corrija se estiver errado mais as linhas são um construtor e é instanciado (criado)
um objeto ’ input ’ certo, quer dizer que para ler um inteiro, um real e um string tenho que criar um objeto ao contrario do que em c .

precisar não precisa, você pode também ler byte a byte direto da stream System.in, mas o BufferedReader facilita o trabalho :slight_smile:

[code]public class Console {

public static String readLine() {

 int ch;
 String r= "";
 boolean done= false;
 while (!done) {
   try {
	 ch = System.in.read();
     if (ch < 0 || (char)ch == '

')
done = true;
else if ((char)ch != ’
')
r = r + (char) ch;
}
catch(java.io.IOException e){
done = true;
}
}
return r;
}

public static int readInt() {

 while(true) {
   try {
	 return Integer.valueOf(readLine().trim()).intValue();
   }
   catch(NumberFormatException e){
	 System.out.println("Not an	integer. Please	try again!");
   }
 }

}

}[/code]

Entrada/Saída

  1. Como faço para escrever uma string ou variavel na tela ?

    System.out.println(“Hello, World”); // escreve e salta de linha
    System.out.print(“Hello, World”); // escreve sem saltar de linha
    System.out.println("x1= " + x1); // x1 é uma variável (de qualquer tipo básico)

  2. Como faço para ler um inteiro ?

    Utilize o método estático readInt() da classe Console:

    int x;
    x= Console.readInt(); // le um inteiro e armazena em x

    Obs.: Gravar o arquivo Console.java no mesmo diretório do seu programa. Este
    arquivo encontra-se no Learnloop. Assegurar-se que o C de Console é maiúsculo.

  3. Como faço para ler um real ?

    Leia uma string (pergunta 2 abaixo) e a converta para float (pergunta 7 da
    seção Strings abaixo).

  4. Como faço para ler uma string ?

    Utilize o método estático readLine() da classe Console:

    String s;
    s= Console.readLine(); // le um inteiro e armazena em x

    Obs.: Gravar o arquivo Console.java no mesmo diretório do seu programa. Este
    arquivo encontra-se no Learnloop.

  5. Como faço para chamar um getch(), um gotoXY() ou um clrscr() em Java ?

    Em C++, todas estas funções pertencem à biblioteca conio (console IO), a qual existe
    apenas nos compiladores da Borland. Esta biblioteca utiliza interrupções próprias
    do DOS para implementar suas rotinas. Assim, a fim de garantir a construção
    de aplicações portáveis entre sistemas operacionais, Java não possui um pacote
    similar. No entanto, especificamente a função getch() pode ser simulada pelo método
    readLine() da classe Console citada na resposta acima.

Vetores

  1. Como faço para declarar um vetor ?

    int a [];

    Obs.: Vetores em Java são objetos, isto é, antes de usar um vetor
    deve-se alocar memória para o mesmo, da seguinte forma:

    a= new int [100];

  2. Como faço para simultaneamente declarar e definir (alocar memória)
    para um vetor ?

    int a []= new int [100];

  3. Como faço para indexar um vetor ?

    a [0] = 10;

  4. Como faço para declarar e definir uma matriz ?

    int m [][]= new int [5][6];
    m [0][0] = 10;

Strings

  1. Como faço para indexar uma string ?

    String s;
    char c= s.charAt (i);

    Obs.: O primeiro elemento da string tem índice 0, isto é, 0 <= i <= (s.length - 1)

  2. Como faço para testar se duas strings são iguais ?

    String s1, s2;
    if (s1.equals (s2))

  3. Como faço para saber o tamanho de uma string ?

    int tam= s1.length();

  4. Como faço para obter uma substring de uma string maior ?

    String s1= s2.substring (5,12); // substring de indices 5 a 12 (exclusivo) de s2

  5. Como faço para converte uma string para char ? Ou melhor, como faço para converter
    um determinado caracter de uma string para char ?

    char c= s.charAt(i); // converte o i-esimo caracter da string s para char

  6. Como faço para converter uma string para inteiro ?

    String s= “10”;
    int i= Integer.parseInt (s);

  7. Como faço para converter uma string para float?

    String s= “3.14”;
    float x= Float.parseFloat(s)

  8. Como faço para converter um inteiro ou float para string ?

    String s1= Float.toString (f);
    String s2= Integer.toString (i);

  9. Como faço para concatenar duas strings ?

    String s1= s2 + “teste” + s3;
    int i = 10;
    String s2= "Teste " + i;

  10. Como faço para verificar se uma string “s1” começa com um certo prefixo ?

boolean b= s1.startsWith (“while”);

Orientação por Objetos

  1. Como faço para declarar uma classe ?

    class A {

    // atributos

    private int x; // deve-se informar antes de cada atributo
    public float y; // se ele private, public ou protected

    // construtora

    public A(int x1, int y1) { // deve-se informar na declaracao de cada método
    // se ele private, public ou protected

    … // implementacao de metodos ocorre sempre dentro da própria classe
    }

    // outros métodos da classe

    } // fim da classe

  2. Como faço para declarar uma subclasse ?

    class B extends A { // B é uma subclasse de A

    }

  3. Como faço para declarar uma classe abstrata ?

    abstract class A { // A é uma classe abstrata

    public abstract f (int p); // f é um método abstrato de A (sem
    // implementação)
    }

    Obs.: Veja que a palavra reservada abstract deve constar tanto da declaração da
    classe como de seu método abstrato

  4. Como faço para declarar um atributo estático ?

    class A {
    public static float saldoMinimo= 1000;
    private static int max= 10;

    }

  5. Como faço para acessar um atributo estático ?

    s= A.saldoMinimo + 150.0;

  6. Como faço para declarar um método estático ?

    class A {
    public static float seno (float x) {

    }
    }

  7. Como faço para chamar um método estático

    float x= A.seno(90);

Interface Gráfica

  1. Como faço para desabilitar o gerenciador de layout ?

    Setar a propriedade “layout” do frame para “null”

  2. Como faço para ler o texto de um JTextField ?

    String s= jTextField1.getText ();

  3. Como faço para setar o texto de um JTextField ?

    jTextField1.setText (s);

  4. Como faço para acrescentar uma linha em um JTextArea (memo) ?

    jTextArea.append (s1);
    jTextArea.append (s1 + "
    "); // com salto de linha

  5. Como faço para limpar um JTextArea ?

    jTextArea.setText ("");

  6. Como faço para abrir uma janela para entrada de dados ?

    String s= JOptionPane.showInputDialog (“mensagem”);

    Este comando abrira uma janela com um TextField, um label “mensagem” e
    um botao de “OK”. A string lida no TextField é então retornada ao se
    pressionar “OK”.

  7. Como faço para abrir uma janela com uma mensagem ?

    JOptionPane.showMessageDialog (this, “mensagem”);

    Este comando deve ser chamado dentro de um metodo de uma classe derivada
    de Frame.

Classes do pacote java.util

  1. Como faço para usar uma hashtable ?

    A classe java.util.Hashtable é um dicionário que mapeia strings para
    um objeto (mais precisamente para um Object).

Exemplo:

import java.util.Hashtable; // importa classe

Hashtable memoria= new Hashtable(); // cria Hashtable

// mapeia a string “soma” com o “object” Float de valor 0
memoria.put(“soma”, new Float(0));

// mapeia a string “total” com o “object” Float de valor 5.15
memoria.put(“total”, new Float(5.15));

// retorna o object Float associado à string “soma”
Float fsoma = (Float) memoria.get(“soma”);

// extrai o valor primitivo float armazenado no objeto Float
float soma= fsoma.floatValue();

esse eh um pequeno tutorial de java que to mandando ae pra galera

Completando o urubatan,o armazenamento em buffer(buffering) otimiza o desempenho de E/S do seu programa pois joga os dados p/uma região da memória(Q é muito mais rápida q o disco),jogando os dados p/ um dispositivo de saída/entrada quando este mesmo(buffer) se enche,ou seja,vc bufferiza a E/S de seus dados por questões de performance,pois as operações físicas(gravar,anexar,ler de arquivo)são muito mais lentas do q a velocidade de um processador e a leitura de dados da memória! :wink:

Hempx,blz de mini tutorial hein? :slight_smile:

:smiley:

Acho que é por isso que este é o melhor forum da net, agradeço a todos pelas dicas :lol:

mandou bem Hempx