java编程题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java编程题相关的知识,希望对你有一定的参考价值。
2、 为某研究所编写一个通用程序,用来计算每一种交通工具运行1000公里所需的时间,已知每种交通工具的参数都是3个整数A、B、C的表达式。现有两种工具:Car007 和Plane,其中Car007 的速度运算公式为:A*B/C,Plane 的速度运算公式为:A+B+C。需要编写三类:ComputeTime.java,Plane.java,Car007.java和接口Common.java,要求在未来如果增加第3种交通工具的时候,不必修改以前的任何程序,只需要编写新的交通工具的程序。其运行过程如下,从命令行输入ComputeTime的四个参数,第一个是交通工具的类型,第二、三、四个参数分别时整数A、B、C,举例如下:
计算Plane的时间:"java ComputeTime Plane 20 30 40"
计算Car007的时间:"java ComputeTime Car007 23 34 45"
如果第3种交通工具为Ship,则只需要编写Ship.java,运行时输入:"java ComputeTime Ship 22 33 44"
提示:充分利用接口的概念,接口对象充当参数。
实例化一个对象的另外一种办法:Class.forName(str).newInstance();例如需要实例化一个Plane对象的话,则只要调用Class.forName("Plane").newInstance()便可。
package baidu;
public interface Common
int DISTANCE = 1000;
float computeTime(int a,int b,int c);
========================Plane.java===============================
package baidu;
public class Plane implements Common
public float computeTime(int a, int b, int c)
// TODO Auto-generated method stub
float speed = a + b + c;
return DISTANCE/speed;
===========================Car007.java=============================
package baidu;
public class Car007 implements Common
public float computeTime(int a, int b, int c)
// TODO Auto-generated method stub
float speed = a*b/(float)c;
return DISTANCE/speed;
============================ComputeTime.java========================
package baidu;
public class ComputeTime
/**
* @param args
*/
static String packageName = "baidu";
static String className;
static int a,b,c;
public static void main(String[] args)
// TODO Auto-generated method stub
try
className = args[0];
a = Integer.parseInt(args[1]);
b = Integer.parseInt(args[2]);
c = Integer.parseInt(args[3]);
catch(Exception e)
System.out.println("请输入正确的参数:className a b c");
System.exit(0);
Common common = null;
try
common = (Common) Class.forName(packageName + "." + className).newInstance();
catch (Exception e)
// TODO Auto-generated catch block
System.out.println("请检查输入的className");
e.printStackTrace();
System.exit(0);
System.out.println(className + "所需要的时间是:" + common.computeTime(a, b, c));
参考技术A 使用Date来进行解析。 参考技术B 很简单。。。但是,为什么还要用反射
Java编程题
参考技术A import java.awt.BorderLayout;import java.awt.Color;
import java.awt.EventQueue;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
public class J extends JFrame
private JMenuBar mb2;
private JMenuBar mb3;
private JMenuBar mb4;
private JPanel panel;
private static final long serialVersionUID = 1L;
public static void main(String[] args)
EventQueue.invokeLater(new Runnable()
public void run()
try
J frame = new J();
frame.setVisible(true);
catch (Exception e)
e.printStackTrace();
);
public J()
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
getContentPane().setLayout(new BorderLayout(0, 0));
getContentPane().add(getPanel(), BorderLayout.NORTH);
public JPanel getPanel()
if(panel==null)
panel = new JPanel();
panel.setLayout(new GridBagLayout());
panel.setBackground(new Color(206,221,237));//下拉菜单panel的背景色
panel.add(getMb2(),new GridBagConstraints(0, 0, 1, 1, 0.1, 0.1, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
panel.add(getMb3(),new GridBagConstraints(0, 0, 1, 1, 0.1, 0.1, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 310), 0, 0));
panel.add(getMb4(),new GridBagConstraints(0, 0, 1, 1, 0.1, 0.1, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 0, 308), 0, 0));
return panel;
public JMenuBar getMb2()
if(mb2==null)
mb2 = new JMenuBar();
mb2.setBackground(new Color(206,221,237));
JMenu m = new JMenu("文件");
JMenu mnNewMenu = new JMenu("新建");
mnNewMenu.setBackground(new Color(206,221,237));
JMenuItem a, b, c, d, e;
a = new JMenuItem("打开");
b = new JMenuItem("保存");
c= new JMenuItem("退出");
d = new JMenuItem("包");
e = new JMenuItem("类");
m.add(mnNewMenu);
m.add(a);
m.add(b);
mnNewMenu.add(d);
mnNewMenu.add(e);
m.addSeparator();
m.add(c);
mb2.setBorder(null);
mb2.add(m);
return mb2;
public JMenuBar getMb3()
if(mb3==null)
mb3 = new JMenuBar();
mb3.setBackground(new Color(206,221,237));
JMenu m = new JMenu("编辑");
JMenu mnNewMenu = new JMenu("新建");
mnNewMenu.setBackground(new Color(206,221,237));
JMenuItem a, b, c, d, e;
a = new JMenuItem("打开");
b = new JMenuItem("保存");
c= new JMenuItem("退出");
d = new JMenuItem("包");
e = new JMenuItem("类");
m.add(mnNewMenu);
m.add(a);
m.add(b);
mnNewMenu.add(d);
mnNewMenu.add(e);
m.addSeparator();
m.add(c);
mb3.setBorder(null);
mb3.add(m);
return mb3;
public JMenuBar getMb4()
if(mb4==null)
mb4 = new JMenuBar();
mb4.setBackground(new Color(206,221,237));
JMenu m = new JMenu("帮助");
JMenu mnNewMenu = new JMenu("新建");
mnNewMenu.setBackground(new Color(206,221,237));
JMenuItem a, b, c, d, e;
a = new JMenuItem("打开");
b = new JMenuItem("保存");
c= new JMenuItem("退出");
d = new JMenuItem("包");
e = new JMenuItem("类");
m.add(mnNewMenu);
m.add(a);
m.add(b);
mnNewMenu.add(d);
mnNewMenu.add(e);
m.addSeparator();
m.add(c);
mb4.setBorder(null);
mb4.add(m);
return mb4;
参考技术B 你这 教学 太跟不上时代的脚步了吧。 参考技术C GUI这一块java早就不用了 参考技术D 什么时候要的,
以上是关于java编程题的主要内容,如果未能解决你的问题,请参考以下文章