Como posso criar uma calculadora em java, utilizando o objeto Scanner?
Olá
O objeto Scanner, você captura informações tanto via teclado como arquivo. Esse objeto tem a partir do java 1.5.x
Para usar, segue o exemplo abaixo:
//.. Declaração de uma classe e métodos
Scanner sc = new Scanner(System.in); // Pega dados via teclado
int valor = sc.nextInt(); //Le um número
String str = sc.nextLine(); // Le uma string
//.. assim por diante
Espero ter ajudado
Flwsss
seguinte camila_luz, a classe Scanner possibilita que você capture dados do teclado, você pode utilizar ela para capturar os valores que o usuário digitar no teclado.
No seu exemplo pode pegar os dois operandos e o tipo de operação que o usuário deseja que seu programe execute.
boa Tarde primeiro deve criar uma pilha depois criar um painel com botões, e fazer um filtro
[quote][code]
private JButton botoes[];
private JButton limpar;
private JTextArea areaTexto;
private String sTextoDaArea;
private BorderLayout layoutBorda;
private GridLayout layoutGrade;
private JPanel painel;
public Exercicio2() {
//Construtor da classe Frame
super("Tratamento de Textos");
//Intância um BorderLayout
layoutBorda = new BorderLayout(5,5);
//instancia um GridLayout
layoutGrade = new GridLayout(1,4);
//Instancia um JPanel
JPanel painel = new JPanel();
//Atribui o objeto layouGrade para o layout do Panel
painel.setLayout(layoutGrade);
//Instancia um container
Container con = getContentPane();
//Atribui o objeto layoutBorda para o container
con.setLayout(layoutBorda);
//instancia os botões
botoes = new JButton[3];
botoes[0] = new JButton("Caracteres");
botoes[1] = new JButton("Vogais");
botoes[2] = new JButton("Palavras");
limpar = new JButton("Limpar");
//instância a area de texto
areaTexto = new JTextArea(5,5);
areaTexto.setLineWrap(true); //não crescer lateralmente nos textos
//instância um ScrollPane
JScrollPane rolagem = new JScrollPane(areaTexto);
//Adiciona os botões ao painel
for (int c=0; c<3; c++){
painel.add(botoes[c]);
botoes[c].addActionListener(this);
}
limpar.addActionListener(this);
//atribui objetos ao container bem como sua respectiva posição
con.add(rolagem,BorderLayout.CENTER);
con.add(limpar,BorderLayout.EAST);
con.add(painel ,BorderLayout.SOUTH);
setSize(350,200);
setVisible(true);
}
public void actionPerformed( ActionEvent evento){
//caracteres
if( evento.getSource() == botoes[0]){
JOptionPane.showMessageDialog(null, "Caracteres: " + areaTexto.getText().length() );
areaTexto.requestFocus() ;
}
//vogais
if( evento.getSource() == botoes[1]){
String t = areaTexto.getText();
int cont = 0;
for(int i = 0; cont< t.length(); i++){
if( t.substring(i, i+1).equals("A") ||
t.substring(i, i+1).equals("E") ||
t.substring(i, i+1).equals("I") ||
t.substring(i, i+1).equals("O") ||
t.substring(i, i+1).equals("U") == true)
cont++;
}
JOptionPane.showMessageDialog(null, "Vogais: " + cont );
areaTexto.requestFocus() ;
}
//palavras
if( evento.getSource() == botoes[2]){
String[] sTexto = areaTexto.getText().trim().split(" ");
JOptionPane.showMessageDialog(null, "Palavras: " + sTexto.length );
areaTexto.requestFocus() ;
}
//botão limpar
if (evento.getSource() == limpar){
areaTexto.setText("");
}
}
public static void main(String args[]){
Exercicio2 programa = new Exercicio2();
programa.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE );
}
}
[/quote][/code]