JAVA课程设计——求解小狗来回跑问题

这是一个JAVA课程设计项目,描述了父亲、儿子和小狗在野外旅游的情景。儿子以两种速度交替前进,父亲同样如此,而小狗以固定高速在两人间往返。根据输入的时间,程序计算三人各自的距离、方向和速度,以及小狗的往返次数。博客提供了算法流程、界面和测试数据。
摘要由CSDN通过智能技术生成

设计要求

父亲和儿子带着小狗去野外旅游。因为父亲有事,所以儿子带着小狗先走10分钟。在这10分钟里,儿子和小狗的速度均为80米/分钟。在10分钟后及父亲追上儿子之前,儿子以两种速度交替前进,即先以160米/分钟的速度小跑10分钟,再以80米/分钟走10分钟。在这10分钟后及父亲追上儿子之前,父亲也开始出发,同样也以两种速度交替前进,即先以75米/分钟走10分钟,再以200米/分钟的速度小跑10分钟。在10分钟后及父亲追上儿子之前,小狗则开始以500米/分钟的速度往返于父亲与儿子之间。当父亲追上儿子之后,儿子、父亲和小狗一同以75米/分钟前进。
要求由程序的参数指定儿子出发后的分钟数,程序计算并输出这时儿子、父亲和小狗离开家的距离,行进的方向和速度以及小狗在儿子和父亲之间往返的次数。

代码

Client.java

package 小狗来回跑;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;

public class Client {
    public static void main(String[] args) {
        MainWindow win = new MainWindow();//创建对象
        win.setTitle("小狗来回跑");//设置窗口标题
    }
}

class windowOut extends JFrame{//弹窗,显示题目
    JTextArea area = new JTextArea();
    public windowOut(){
        setTitle("题目");
        setVisible(true);
        setLayout(new FlowLayout());
        setBounds(550,300,400,280);
        area.setSize(380,300);
        area.setEditable(false);
        area.setLineWrap(true);//自动换行
        area.setWrapStyleWord(true);//激活断行不断字功能
        add(area);
        File fRead = new File("C:\\Users\\Zhengxinyue\\Desktop\\题目.txt");//打开文件,从文件读入数据到文本框
        try {
            Reader in = new FileReader(fRead);//创建输入流对象
            BufferedReader bufferedRead = new BufferedReader(in);//创建输入流对象
            String str = null;
            while ((str = bufferedRead.readLine()) != null) {
                area.append(str+"\n");//按行读入数据到文本区
            }
            bufferedRead.close();//关闭流
            in.close();//关闭流
        } catch (IOException e) {}
    }
}

class MainWindow extends JFrame implements Runnable, ActionListener{
    JMenuBar menubar;
    JTextArea showResult;
    JTextField inputTime;
    ImageIcon background;
    JScrollPane scrollPane;
    JLabel label,imagelabel;
    Box box1,box2,boxh;
    JButton buttonConfirm, buttonConnect,buttonProblem;
    Socket socket=null;//将对象设置为空
    DataInputStream in=null;
    DataOutputStream out=null;
    Thread thread;//定义线程
    public MainWindow() {
        setLayout(new FlowLayout());//设置布局
        socket = new Socket();//创建一个Socket对象
        init();//对窗口内容进行设置,整合到一个函数中
        addWindowListener(new WindowAdapter() {//添加一个窗口监视器
            @Override
            public void windowClosing(WindowEvent e) {//设置窗口关闭事件
                super.windowClosing(e);//退出
            }
        });
        String path="C:\\Users\\Zhengxinyue\\Desktop\\dogpicture.png";//图片路径
        background = new ImageIcon(path);
        imagelabel = new JLabel(background);
        imagelabel.setBounds(0, 0, 500,400);// 把标签的大小位置设置为图片刚
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值