java - 如何删除一组数字的最后一位数字

标签 java

我仍在学习制作这个计算器程序,更不用说它了 我想问如何删除一组数字的最后一位

这是我当前的代码:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class frame {
  int num1,num2,ans;

public static void main(String[] args) {
    JFrame gui = new JFrame("Kalkulator");
    final JTextField output = new JTextField(100);
    JPanel panel = new JPanel();
    JButton hapus = new JButton("<-");
    JButton satu = new JButton("1");
    JButton dua = new JButton("2");
    JButton tiga = new JButton("3");
    JButton empat = new JButton("4");
    JButton lima = new JButton("5");
    JButton enam = new JButton("6");
    JButton tujuh = new JButton("7");
    JButton delapan = new JButton("8");
    JButton sembilan = new JButton("9");
    JButton nol = new JButton("0");
    JButton kali = new JButton("X");
    JButton bagi = new JButton("/");
    JButton kurang = new JButton("-");
    JButton tambah = new JButton("+");
    JButton samadengan = new JButton("=");
    JButton titik = new JButton(".");
    JButton clear = new JButton("C");
    JLabel nama = new JLabel("Zulham azwar achmad (5302414040)");

    nama.setHorizontalAlignment(SwingConstants.CENTER);

    output.setBounds(10,11,290,61); //(jarak geser ke-kanan , jarak geser kebawah , panjang , tinggi )
    clear.setBounds(250,121,50,50);
    nama.setBounds(10,77,290,34);
    hapus.setBounds(190,121,50,50);
    satu.setBounds(10, 121, 50, 50);
    dua.setBounds(70,121,50,50);
    tiga.setBounds(130,121,50,50);
    empat.setBounds(10,181,50,50);
    lima.setBounds(70,181,50,50);
    enam.setBounds(130,181,50,50);
    tujuh.setBounds(10,241,50,50);
    delapan.setBounds(70,241,50,50);
    sembilan.setBounds(130,241,50,50);
    nol.setBounds(10,301,110,50);
    titik.setBounds(130,301,50,50);
    kali.setBounds(190,181,50,50);
    bagi.setBounds(190,241,50,50);
    kurang.setBounds(250,181,50,50);
    tambah.setBounds(250,241,50,50);
    samadengan.setBounds(190,301,110,50);

    panel.setLayout(null);
    panel.add(output);
    panel.add(hapus);
    panel.add(satu);
    panel.add(dua);
    panel.add(tiga);
    panel.add(empat);
    panel.add(lima);
    panel.add(enam);
    panel.add(tujuh);
    panel.add(delapan);
    panel.add(sembilan);
    panel.add(nol);
    panel.add(titik);
    panel.add(kali);
    panel.add(bagi);
    panel.add(tambah);
    panel.add(kurang);
    panel.add(samadengan);
    panel.add(clear);
    panel.add(nama);

    gui.getContentPane().add(panel);
    gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    gui.setSize(317,390);
    gui.setVisible(true);
    gui.setResizable(false);

    satu.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
             output.setText(output.getText()+"1");
          }

       }); 
    dua.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            output.setText(output.getText()+"2");

        }
    });
    tiga.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            output.setText(output.getText()+"3");

        }
    });
    empat.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            output.setText(output.getText()+"4");

        }
    });
    lima.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            output.setText(output.getText()+"5");

        }
    });
    enam.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            output.setText(output.getText()+"6");

        }
    });
    tujuh.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            output.setText(output.getText()+"7");

        }
    });
    delapan.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            output.setText(output.getText()+"8");

        }
    });
    sembilan.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            output.setText(output.getText()+"9");

        }
    });
    nol.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            output.setText(output.getText()+"0");

        }
    });
    clear.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            output.setText(null);

        }
    });
    hapus.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            output.setText(); <-- how to backspace ? 

        }
    });

   }                              
 }

最佳答案

您可以使用子字符串:

hapus.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        String text = output.getText();
        output.setText(text.substring(0,text.length()-1));
    }
});

关于java - 如何删除一组数字的最后一位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34116087/

相关文章:

java - 选择未填充从其他表映射的值的选项

java - 删除 Maven 中的传递依赖

java - 改造 Https 调用给连接重置

java - 如何将多个提要添加到 RSS 提要 Android 应用程序中?

java - 使用 Spring Session Redis 时身份验证主体为空

java - 获取特定包内的文件

java - Spring AOP : aspect @Around doesn't work

java - Maven CXF 插件 API 不兼容

java - 将 Java while 循环转换为 Stream 以提高性能

java - 根据您在 Android 版 Google map 上的位置绘制一条路径