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()便可。

==================Common.java==================================
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编程题的主要内容,如果未能解决你的问题,请参考以下文章

Java编程题

java编程题

java编程题

java 编程题集

JAVA编程题(AWT计算器)

JAVA TCP Socket编程 计算题