Java考试题,求大神解答
1编写程序实现华氏度到摄氏度的计算。要求使用输入对话框(使用JOptionPane类)读入华氏度并转换成double类型,然后按照转换公式将其转换为摄氏度,并在消息框中显...
1 编写程序实现华氏度到摄氏度的计算。要求使用输入对话框(使用JOptionPane类)读入华氏度并转换成double类型, 然后按照转换公式将其转换为摄氏度,并在消息框中显示转换后的结果。
转换公式如下: 摄氏度=(5/9)*(华氏度-32)对话框使用JOptionPane类。
(1) 编写实现上述功能的Java程序。
(2) 当用户输入错误数据时候,提示用户输入错误,并要求用户重新输入内容。
(3) 将运行结果截图上交。
2 编写程序,随机生成100个1000以内的整数,然后写入一个data.txt的文件,然后编写程序,从data.txt 的文件中读出所有整数,然后对这些整数按照从小到大顺序排列,并将排序后的结果在屏幕上输出。编写实现上述功能的Java程序,将运行结果截图上交。
3编写一个应用程序,通过线程动画实现下述功能:
(1) 绘制十字交叉道路,道路颜色为蓝色,十字路口在中心。
(2)在左侧中点绘制一辆小车(由一个矩形和两个园形代表)
(3)实现该小车沿着道路从左向右移动,起点在左侧,当到了十字中心路口进行转弯,实现小车从上向下移动
(4) 碰到下边框以后原路返回起点。
(5)将运行结果截图上交 展开
转换公式如下: 摄氏度=(5/9)*(华氏度-32)对话框使用JOptionPane类。
(1) 编写实现上述功能的Java程序。
(2) 当用户输入错误数据时候,提示用户输入错误,并要求用户重新输入内容。
(3) 将运行结果截图上交。
2 编写程序,随机生成100个1000以内的整数,然后写入一个data.txt的文件,然后编写程序,从data.txt 的文件中读出所有整数,然后对这些整数按照从小到大顺序排列,并将排序后的结果在屏幕上输出。编写实现上述功能的Java程序,将运行结果截图上交。
3编写一个应用程序,通过线程动画实现下述功能:
(1) 绘制十字交叉道路,道路颜色为蓝色,十字路口在中心。
(2)在左侧中点绘制一辆小车(由一个矩形和两个园形代表)
(3)实现该小车沿着道路从左向右移动,起点在左侧,当到了十字中心路口进行转弯,实现小车从上向下移动
(4) 碰到下边框以后原路返回起点。
(5)将运行结果截图上交 展开
展开全部
第三题
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferStrategy;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class CrossDemo extends JFrame implements Runnable{
private BufferStrategy bs;
private volatile boolean running;
private Thread thread;
private Car car;
private int x_move, y_move;
public CrossDemo() {
x_move = 1;
y_move = 0;
}
protected void createAndShowGUI() {
Canvas canvas = new Canvas();
canvas.setSize( 600, 400 );
canvas.setBackground( Color.BLACK );
canvas.setIgnoreRepaint( true );
getContentPane().add( canvas );
setIgnoreRepaint( true );
pack();
setVisible( true );
canvas.createBufferStrategy( 2 );
bs = canvas.getBufferStrategy();
car = new Car(0, 200);
thread = new Thread( this );
thread.start();
}
public void run() {
running = true;
while( running ) {
updateObject();
renderFrame();
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
private void updateObject() {
car.update(x_move, y_move);
if(car.x == 300 && car.y == 200) {
if(x_move == 1) {
x_move = 0;
y_move = 1;
} else if(y_move == -1) {
x_move = -1;
y_move = 0;
}
}
if(car.x == 0 && car.y == 200) {
x_move = 1;
}
if(car.x == 300 && car.y == 399) {
y_move = -1;
}
}
public void renderFrame() {
do {
do {
Graphics g = null;
try {
g = bs.getDrawGraphics();
g.clearRect( 0, 0, getWidth(), getHeight() );
render( g );
} finally {
if( g != null ) {
g.dispose();
}
}
} while( bs.contentsRestored() );
bs.show();
} while( bs.contentsLost() );
}
private void render( Graphics g ) {
g.setColor(Color.BLUE);
g.fillRect(0, 160, 600, 80);
g.fillRect(260, 0, 80, 400);
car.render(g);
}
protected void onWindowClosing() {
try {
running = false;
thread.join();
} catch( InterruptedException e ) {
e.printStackTrace();
}
System.exit( 0 );
}
public static void main( String[] args ) {
final CrossDemo app = new CrossDemo();
app.addWindowListener( new WindowAdapter() {
public void windowClosing( WindowEvent e ) {
app.onWindowClosing();
}
});
SwingUtilities.invokeLater( new Runnable() {
public void run() {
app.createAndShowGUI();
}
});
}
}
class Car {
int x, y;
public Car(int x, int y) {
this.x = x;
this.y = y;
}
public void update(int x_move, int y_move) {
x += x_move;
y += y_move;
}
public void render(Graphics g) {
g.setColor(Color.YELLOW);
g.drawRect(x - 15, y - 10, 30, 10);
g.drawOval(x - 15, y, 10, 10);
g.drawOval(x + 5, y, 10, 10);
}
}
追问
谢谢大神的答案!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询