Java 如何创建查找最小数字的逻辑方法
我在创建按钮的逻辑部分时遇到问题。我试过很多方法来分类,但我想不出计算方法 我想要一个方法,一旦按下按钮,获取文本字段值,进行计算并输出答案 简单的例子 箱子数量不限,每个箱子可以装10件物品。用户在文本字段中输入一个随机值,表示他拥有的项目数,比如说21个,然后按下一个按钮 在后台,将执行一种方法,计算用户需要的最小盒子数量是多少个盒子。(10的多少个单位)。然后将答案设置为标签 希望你们能帮忙,提前谢谢Java 如何创建查找最小数字的逻辑方法,java,math,methods,logic,jlabel,Java,Math,Methods,Logic,Jlabel,我在创建按钮的逻辑部分时遇到问题。我试过很多方法来分类,但我想不出计算方法 我想要一个方法,一旦按下按钮,获取文本字段值,进行计算并输出答案 简单的例子 箱子数量不限,每个箱子可以装10件物品。用户在文本字段中输入一个随机值,表示他拥有的项目数,比如说21个,然后按下一个按钮 在后台,将执行一种方法,计算用户需要的最小盒子数量是多少个盒子。(10的多少个单位)。然后将答案设置为标签 希望你们能帮忙,提前谢谢 import java.awt.event.ActionEvent; import ja
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class jjj implements ActionListener {
static JTextField tf;
JButton b;
static JLabel l2;
static int a;
static int quantity = 0;
static int units = 0;
static String g, s;
static JLabel q, hidden;
public jjj(){
JFrame f = new JFrame();
tf = new JTextField();
tf.setSize(180, 30);
tf.setLocation(10, 30);
b = new JButton("How Many Boxes?");
b.setSize(180, 30);
b.setLocation(10, 70);
b.addActionListener(this);
JLabel l1 = new JLabel("Answer:");
l1.setSize(85, 30);
l1.setLocation(10, 200);
l2 = new JLabel();
l2.setSize(85, 30);
l2.setLocation(105, 200);
hidden = new JLabel();
hidden.setVisible(false);
f.setSize(208, 300);
f.setLayout(null);
f.setLocationRelativeTo(null);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
f.add(tf);
f.add(b);
f.add(l1);
f.add(l2);
f.add(hidden);
}
public void Answer(){
hidden.setText(tf.getText());
a = String.valueOf(hidden);
quantity = a;
Calc();
}
public void Calc()
if (quantity <= 100){
units = units + 1;
g = String.valueOf(units);
l2.setText(g);
}
if (quantity > 100){
quantity = quantity - 100;
units = units + 1;
Calc();
}
}
public static void main(String[] args) {
new jjj();
}
@Override
public void actionPerformed(ActionEvent arg0) {
l2.setText(null);
Answer();
}
}
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入javax.swing.JButton;
导入javax.swing.JFrame;
导入javax.swing.JLabel;
导入javax.swing.JTextField;
公共类jjj实现ActionListener{
静态JTextField tf;
按钮b;
静态jlabell2;
静态int a;
静态整数数量=0;
静态整数单位=0;
静态字符串g,s;
静态JLabel q,隐藏;
公共jjj(){
JFrame f=新的JFrame();
tf=新的JTextField();
tf.设置尺寸(180,30);
设置位置(10,30);
b=新的JButton(“有多少个盒子?”);
b、 设置大小(180,30);
b、 设定位置(10,70);
b、 addActionListener(此);
JLabel l1=新JLabel(“答案:”);
l1.设置尺寸(85,30);
l1.设定位置(10200);
l2=新的JLabel();
l2.设定尺寸(85,30);
l2.设定位置(105200);
隐藏=新的JLabel();
hidden.setVisible(false);
f、 设置大小(208300);
f、 setLayout(空);
f、 setLocationRelativeTo(空);
f、 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f、 setVisible(真);
f、 添加(tf);
f、 添加(b);
f、 添加(l1);
f、 添加(l2);
f、 添加(隐藏);
}
公开答案(){
hidden.setText(tf.getText());
a=字符串.valueOf(隐藏);
数量=a;
计算();
}
公共无效计算()
若有(数量100){
数量=数量-100;
单位=单位+1;
计算();
}
}
公共静态void main(字符串[]args){
新jjj();
}
@凌驾
已执行的公共无效操作(操作事件arg0){
l2.setText(空);
答案();
}
}
我不知道您当前的代码是什么,但使用类似这样的代码可能是您想要的:
public static int getNumberOfBoxes(double userInput, double numberOfTotalBoxes) {
return (int)Math.ceil(userInput / numberOfTotalBoxes);
}
Math.ceil
四舍五入,因此21.0/10.0
将导致3
如果输入是整数,则可以执行以下操作:
public static int getNumberOfBoxes(int userInput, int numberOfTotalBoxes) {
int numberOfBoxes = userInput / numberOfTotalBoxes;
if(userInput % numberOfTotalBoxes != 0)
numberOfBoxes++;
return numberOfBoxes;
}
在第二个示例中,您只需检查除法后是否有余数。如果有,您还需要一个方框。您能给我们看一下您的代码吗?前几天,在思考我项目的一部分时,我意识到我不能使用除法运算符,因为我只使用整数(而不是小数)。这个问题最终就是我来这里的原因,我希望看看是否有人知道一个解决方案,甚至可能在他们之前就知道了。我希望从我的代码中,您可以看到我尝试的方法。这和其他尝试都失败了。你能给出一个输入和输出的例子吗?我敢肯定,在你的
Calc()
方法中调用我的第二个示例,并将返回值分配给你的units
你就可以开始了。我不太确定你的意思是什么?除非你是说。。。我输入99,按下按钮,答案应该是1。但是,如果我键入199并按下按钮。我的方法应该意识到需要两个箱子,因为一个箱子只能装100件物品。这就是你想知道的吗?是的,这正是我的方法所做的GetNumberOfBox(99100)
返回1
,而GetNumberOfBox(199100)
返回2
。很抱歉,不同的变量名让我感到困惑。不管怎样,我把它分类了。谢谢你的帮助。