百钱买百鸡问题--java 实现
2007-06-30 09:38
459 查看
百钱买百鸡问题--java 实现
>> [b]运行结果:[/b]
点击"解答"按钮后:
点击“退出”按钮即可退出!
>> 原代码:(以下程序在eclipse里调试通过)
>> [b]运行结果:[/b]
点击"解答"按钮后:
点击“退出”按钮即可退出!
>> 原代码:(以下程序在eclipse里调试通过)
package com.huqianhao.homework; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import javax.swing.border.Border; public class ChickenProgram extends JFrame implements ActionListener { private static final long serialVersionUID = 1L; private static final int PRICE_PER_COCK = 5; // 公鸡5元钱一只 private static final int PRICE_PER_HEN = 3; // 母鸡3元钱一只 private static final int PRICE_THREE_CHICKENS = 1; // 小鸡1元钱三只 private static final double TOTAL_MONEY = 100; private static final int NO_OF_CHOOKS = 100; // 总的鸡数量 JPanel panel1, panel2; JLabel resultLabel; public ChickenProgram() { Container contentPane = getContentPane(); contentPane.setLayout(new BorderLayout()); panel1=new JPanel(); panel1.setLayout(new GridLayout(1,3)); panel2=new JPanel(); panel2.setLayout(new BorderLayout()); JLabel cockLabel, henLabel, chickenLabel; cockLabel = new JLabel("每只公鸡:" + PRICE_PER_COCK + "元"); henLabel = new JLabel("每只母鸡:" + PRICE_PER_HEN + "元"); chickenLabel = new JLabel("小鸡:" + PRICE_THREE_CHICKENS + "元钱三只"); JButton calculateButton = new JButton("解答"); calculateButton.addActionListener(this); JPanel smallPanel=new JPanel(); smallPanel.add(calculateButton); JButton exitButton=new JButton("退出"); smallPanel.add(exitButton); exitButton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ System.exit(0); } }); String question = "问题:"+TOTAL_MONEY + "元钱买" + NO_OF_CHOOKS + "只鸡,问公鸡、母鸡、小鸡各买多少只?"; JLabel questionLabel = new JLabel(question); Border border1=BorderFactory.createTitledBorder("鸡的价格"); Border border2=BorderFactory.createTitledBorder(question); resultLabel = new JLabel(""); panel1.add(cockLabel); panel1.add(henLabel); panel1.add(chickenLabel); panel1.setBorder(border1); panel2.setBorder(border2); // panel2.add(questionLabel); panel2.add(smallPanel,BorderLayout.SOUTH); panel2.add(resultLabel); contentPane.add(panel1,BorderLayout.NORTH); contentPane.add(panel2,BorderLayout.CENTER); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String args[]) { ChickenProgram frame = new ChickenProgram(); frame.setTitle("百钱买百鸡问题"); frame.setVisible(true); frame.setSize(500, 300); } public void actionPerformed(ActionEvent e) { String resultString = "<html>以下是几种可行方案:<ul>"; int noOfcocks, noOfHens, noOfchickens; for (noOfcocks = 0; noOfcocks <= TOTAL_MONEY / PRICE_PER_COCK; noOfcocks++) { for (noOfHens = 0; noOfHens <= TOTAL_MONEY / PRICE_PER_HEN; noOfHens++) { noOfchickens = NO_OF_CHOOKS - noOfcocks - noOfHens; if (PRICE_PER_COCK * noOfcocks + PRICE_PER_HEN * noOfHens + noOfchickens * (PRICE_THREE_CHICKENS / 3.0) == TOTAL_MONEY){ resultString += ("<li>公鸡-->" + noOfcocks + " 母鸡-->" + noOfHens + " 小鸡-->" + noOfchickens+"</li>"); } resultLabel.setText(resultString+"</ul></html>"); } } } }
相关文章推荐
- java实现动态规划求解矩阵连乘问题
- 约瑟夫环问题 java代码实现(高效率)
- 关于如何在java中实现中文首字母索引排序的问题
- Android DES加解密的两种实现方式 - Java DES与Android DES不兼容问题
- java实现字符串匹配问题之求两个字符串的最大公共子串
- 线程的相关知识、JAVA实现死锁、生产者消费者问题
- 背包九讲之完全背包问题 Java实现 滑动数组
- 如何获取网页验证码图片并保存到本地(Java实现) [问题点数:40分,结帖人lanxuezaipiao]
- java代码实现文件上传到linux服务器及问题汇总及解决
- Spring3.0 JPA(hibernate3.6实现)整合问题之:java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getValidationMode()Lja
- 分治算法——循环赛日程安排问题(Java实现)
- 问题:如何实现java主线程等待子线程执行完毕之后再执行?
- 八数码问题bfs暴力破解(java实现)
- 读《程序员编程艺术》之自造Java版本-----插入排序实现最小K问题
- 动态规划解决矩阵链乘问题的java编码实现
- java实现七个医生值班问题
- 动态规划解决矩阵链乘问题的java编码实现
- JAVA实现zip压缩需要注意的问题
- Java实现生产者消费者问题与读者写者问题
- 算法java实现--贪心算法--单源最短路径问题--Dijkstra算法