
import java.awt.event.ActionEvent
import java.awt.event.ActionListener
import java.awt.event.KeyEvent
import java.awt.event.KeyListener
import javax.swing.JFrame
import javax.swing.JLabel
import javax.swing.JOptionPane
import javax.swing.JTextField
public class Test implements KeyListener {
JFrame jf = new JFrame("找零系统")
JLabel author = new JLabel("作者名:XXX")
JLabel priceLabel = new JLabel("价格:")
JLabel pmoneyLabel = new JLabel("付款:")
JTextField priceField = new JTextField()
JTextField pmoneyField = new JTextField()
JLabel gmoney = new JLabel()
public void init() {
jf.setLayout(null)
jf.setSize(170, 170)
jf.setResizable(false)
jf.setLocationRelativeTo(null)
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
jf.setVisible(true)
author.setBounds(50, 10, 100, 30)
priceLabel.setBounds(10, 50, 30, 20)
pmoneyLabel.setBounds(10, 80, 30, 20)
priceField.setBounds(50, 50, 100, 20)
pmoneyField.setBounds(50, 80, 100, 20)
gmoney.setBounds(40, 110, 100, 20)
jf.add(author)
jf.add(priceLabel)
jf.add(pmoneyLabel)
jf.add(priceField)
jf.add(pmoneyField)
jf.add(gmoney)
priceField.addKeyListener(this)
pmoneyField.addKeyListener(this)
}
public static void main(String[] args) {
new Test().init()
}
public void keyPressed(KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
if (!priceField.getText().equals("")
&& !pmoneyField.getText().equals("")) {
try {
float price = Float.parseFloat(priceField.getText())
float pmoney = Float.parseFloat(pmoneyField.getText())
gmoney.setText("找零:" + (pmoney - price) + "元")
} catch (NumberFormatException e1) {
JOptionPane.showMessageDialog(jf, "输入错误!", "出错了",
JOptionPane.ERROR_MESSAGE)
priceField.setText("")
pmoneyField.setText("")
gmoney.setText("")
}
} else {
gmoney.setText("")
}
}
public void keyTyped(KeyEvent e) {
}
}
public static void main(String[] args) {//这种方法效率应该不是很好,你可以从面额最大的下手。然后依次递减
Scanner scanner=new Scanner(System.in)
Double d=scanner.nextDouble()//输入的商品价格
Double d1=5.00//用户支付
Double d2=d1-d//应该找零
if (d2!=0) {
int x= (int) (d2/2)//两元
d2=d2%2
int y= (int) (d2/1)//一元
d2=d2%1
int z=(int) (d2/0.5)//五角
d2=d2%0.5
int w=(int)(d2/0.2)//两角
d2=d2%0.2
int j=(int)(d2/0.1)//一角
d2=d2%0.1
int i=(int)(d2/0.02)//两分
d2=d2%0.02
int k=(int)(d2/0.01)//两分
d2=d2%0.01
System.out.println("两元"+x+"张")
System.out.println("一元"+y+"张")
System.out.println("五角"+z+"张")
System.out.println("两角"+w+"张")
System.out.println("一角"+j+"张")
System.out.println("两分"+i+"张")
System.out.println("两分"+k+"张")
}
}
帮你改了下,自己琢磨琢磨吧重点看输入流,这个应该经常用到的
import java.io.BufferedReader
import java.io.IOException
import java.io.InputStreamReader
public class fcy{
public static void main(String[] args){
BufferedReader br=null
try{
br=new BufferedReader(new InputStreamReader(System.in))
int a=0
int b=0
System.out.print("请输入消费金额:")
a=Integer.parseInt(br.readLine())
System.out.print("请输入支付金额:")
b=Integer.parseInt(br.readLine())
int c=b-a
System.out.print("余额:"+c)
int d=5000
int e=1000
int f=500
int g=100
int h=50
int i=10
int y=1
int j=c/d
int k=(c-d*j)/e
int m=(c-d*j-e*k)/f
int n=(c-d*j-e*k-f*m)/g
int o=(c-d*j-e*k-f*m-g*n)/h
int p=(c-d*j-e*k-f*m-g*n-o*h)/i
int z=(c-d*j-e*k-f*m-g*n-o*h-p*i)/y
System.out.println("五千元:"+j)
System.out.println("千元:"+k)
System.out.println("五百元:"+m)
System.out.println("百元:"+n)
System.out.println("五十元:"+o)
System.out.println("十元:"+p)
System.out.println("一元:"+z)
}
catch(IOException e){
System.out.println("错误")
}
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)