我想为一个按钮定义一个变量然后当我按下输入时我希望它们像计算器一样添加但是前两个数字不加,它们将被并排放置,如2和7将是27倍增乘以I want it to have a variable set based on the number然后乘以乘数
答案 0 :(得分:1)
在电阻器颜色代码计算中,第三个频带乘数表示在前两个频带末尾要附加的零个数。所以在你的场景中,你会附加值。所以将第三个波段值设为零而不是数字。 example yellow,violet,red = 472 so 2 = '00', therefore = 4700ohm
答案 1 :(得分:1)
首先,如果你想添加一些"值"对于您可以使用button.setName(value)
的按钮,您可以使用button.getName()
获取值。这样可以保留按钮的文本,并且您将获得对其值的引用。如果要像在计算器中添加它们一样添加它们,可以使用
int sum = Integer.valueOf(button1.getName()) + Integer.valueOf(button2.getName())
否则,如果你想使用2 + 7 = 27,你可以简单地将它们添加为字符串(如String sum = button1.getName() + button2.getName()
),然后使用Integer.valueOf()
将连接的字符串转换为整数。
答案 2 :(得分:0)
在你if (conditions) {
// some code
if (conditions) {
break label;
}
// some code
}
for (;;) {
if (conditions) {
// some code
}
// some code
break;
label:
// some code
}
内定义你想要发生的事情,如“加1”或乘以“10”
这是一个非常简化的计算器形式(仅用于演示如何实现这样的事情):
ActionListener
它将显示的总和/总和值存储在package com.example.resistorcalculator;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
/**
*
*/
public class ResistorCalculatorApplication {
JFrame mainWindow;
private double sum = 0.0;
public static void main(String ...args) {
new ResistorCalculatorApplication().run();
}
private void run() {
mainWindow = build();
mainWindow.pack();
mainWindow.setVisible(true);
}
private class CalculatorSetValueActionListener implements ActionListener {
private final double value;
public CalculatorSetValueActionListener(double value) {
this.value = value;
}
@Override
public void actionPerformed(ActionEvent e) {
sum = this.value;
System.out.println("Sum = " + sum);
}
}
private class CalculatorAddValueActionListener implements ActionListener {
private final double value;
public CalculatorAddValueActionListener(double value) {
this.value = value;
}
@Override
public void actionPerformed(ActionEvent e) {
sum += this.value;
System.out.println("Sum = " + sum);
}
}
private class CalculatorMultipierValueActionListener implements ActionListener {
private final double value;
public CalculatorMultipierValueActionListener(double value) {
this.value = value;
}
@Override
public void actionPerformed(ActionEvent e) {
sum *= this.value;
System.out.println("Sum = " + sum);
}
}
private JFrame build() {
JFrame window = new JFrame("Example");
Container contentPane = window.getContentPane();
window.setLayout(new GridLayout(2,3));
JButton b11 = new JButton("Black - 0");
b11.addActionListener(new CalculatorSetValueActionListener(0.0));
contentPane.add(b11);
JButton b12 = new JButton("Black - 0");
b12.addActionListener(new CalculatorAddValueActionListener(0.0));
contentPane.add(b12);
JButton b13 = new JButton("Black - 0");
b13.addActionListener(new CalculatorMultipierValueActionListener(1.0));
contentPane.add(b13);
JButton b21 = new JButton("Brown - 1");
b21.addActionListener(new CalculatorSetValueActionListener(10.0));
contentPane.add(b21);
JButton b22 = new JButton("Brown - 1");
b22.addActionListener(new CalculatorAddValueActionListener(1.0));
contentPane.add(b22);
JButton b23 = new JButton("Brown - 1");
b23.addActionListener(new CalculatorMultipierValueActionListener(10.0));
contentPane.add(b23);
return window;
}
}
字段中。
它有三种sum
,它用赋值给动作监听器的值替换ActionListeners
字段的值,一个将sum
的值添加到现有ActionLister
和sum
乘以动作侦听器中存储的值的一个。
按下按钮时,sum
字段的值将打印到控制台。