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.");
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.");
}
}
}
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!
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 .
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)
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.
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).
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.
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
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];
Como faço para simultaneamente declarar e definir (alocar memória)
para um vetor ?
int a []= new int [100];
Como faço para indexar um vetor ?
a [0] = 10;
Como faço para declarar e definir uma matriz ?
int m [][]= new int [5][6];
m [0][0] = 10;
Strings
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)
Como faço para testar se duas strings são iguais ?
String s1, s2;
if (s1.equals (s2))
…
Como faço para saber o tamanho de uma string ?
int tam= s1.length();
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
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
Como faço para converter uma string para inteiro ?
String s= “10”;
int i= Integer.parseInt (s);
Como faço para converter uma string para float?
String s= “3.14”;
float x= Float.parseFloat(s)
Como faço para converter um inteiro ou float para string ?
String s1= s2 + “teste” + s3;
int i = 10;
String s2= "Teste " + i;
Como faço para verificar se uma string “s1” começa com um certo prefixo ?
boolean b= s1.startsWith (“while”);
Orientação por Objetos
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
Como faço para declarar uma subclasse ?
class B extends A { // B é uma subclasse de A
…
}
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
Como faço para declarar um atributo estático ?
class A {
public static float saldoMinimo= 1000;
private static int max= 10;
…
}
Como faço para acessar um atributo estático ?
s= A.saldoMinimo + 150.0;
Como faço para declarar um método estático ?
class A {
public static float seno (float x) {
…
}
}
Como faço para chamar um método estático
float x= A.seno(90);
Interface Gráfica
Como faço para desabilitar o gerenciador de layout ?
Setar a propriedade “layout” do frame para “null”
Como faço para ler o texto de um JTextField ?
String s= jTextField1.getText ();
Como faço para setar o texto de um JTextField ?
jTextField1.setText (s);
Como faço para acrescentar uma linha em um JTextArea (memo) ?
jTextArea.append (s1);
jTextArea.append (s1 + "
"); // com salto de linha
Como faço para limpar um JTextArea ?
jTextArea.setText ("");
Como faço para abrir uma janela para entrada de dados ?
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”.
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
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!