Java期末测试

简介: Java期末测试

1.定义一个图形接口,一个有抽象方法。求周长子类实现接口,创建子类对象求周长

//1.定义一个图形接口,一个有抽象方法求周长
interface Shape{
  double girth(int length);
}
//2.子类圆形实现接口
class Circle implements Shape{
  int r;
  //创建有参构造方法
  public Circle(int r) {
    super();
    //将r赋值给成员变量r,this.r调用成员变量
    this.r = r;
  }
  //重写girth()方法,求出周长
  @Override
  public double girth(int length) {
    // TODO Auto-generated method stub
    return 2*3.14*length;
  }
}
//3.测试类
public class ShapeTest {
  public static void main(String[] args) {
    //将长度2添加到Circle对象中
    Circle c = new Circle(2);
    //通过Circle对象调用girth()方法
    System.out.println(c.girth(c.r));
  }
}

运行结果

12.56

2.随机输出500-560之间的30个,存到数组中,并升序排序

public class RandomTest {
  public static void main(String[] args) {
    //1.创建数组
    int[] arr = new int[30];
    //2.创建随机数对象
    Random random = new Random();
    //3.for循环,将随机数存到数组
    for(int i = 0;i<arr.length;i++) {
      arr[i] = random.nextInt(61)+500;
    }
    //4.for-each全部输出,升序
    Arrays.sort(arr);
    for (int a : arr) {
      System.out.print("\t"+a);
    }
  }
}

运行结果

500 501 501 501 501 502 503 503 505 505 513 515 517 524 526 531 534 535 535 540 540 541 543 549 550 551 556 557 557 559

3.输出流输出Stu对象,序列化,输入流读取到控制台

public class ObjectTest {
  public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException {
    //创建有参对象
    Stu s1 = new Stu("11","aa");
    Stu s2 = new Stu("22","bb");
    Stu s3 = new Stu("11","cc");
    //创建集合,将对象添加进去
    HashSet hs = new HashSet();
    hs.add(s1);
    hs.add(s2);
    hs.add(s3);
    ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("D:\\a.txt"));
    //迭代器遍历
    Iterator iterator = hs.iterator();
    while(iterator.hasNext()) {
      Stu stu = (Stu)iterator.next();
      oos.writeObject(stu);
    }
    //关闭流
    oos.close();
    //对象输入流
    ObjectInputStream ois = new ObjectInputStream(new FileInputStream("D:\\a.txt"));
    //读数据
    Stu stu1 = (Stu)ois.readObject();
    Stu stu2 = (Stu)ois.readObject();
    //显示在控制台
    System.out.println(stu1);
    System.out.println(stu2);
    //关闭流
    ois.close();
  }
}
class Stu implements Serializable{
  String id,name;
  public Stu() {
    super();
    // TODO Auto-generated constructor stub
  }
  public Stu(String id, String name) {
    super();
    this.id = id;
    this.name = name;
  }
  @Override
  public String toString() {
    return "id=" + id + ", name=" + name ;
  }
  @Override
  public int hashCode() {
    // TODO Auto-generated method stub
    return this.id.hashCode();
  }
  @Override
  public boolean equals(Object obj) {
    Stu s = (Stu)obj;
    return this.id.equals(s.id);
  }
}

运行结果

id=11, name=aa

id=22, name=bb

4.点击按钮判断登录是否成功

public class JframeLogin {
  public static void main(String[] args) {
    //创建窗口
    JFrame frame = new JFrame("窗口");
    //设置窗口
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setBounds(500,200,300,200);
    //创建面板
    JPanel panel = new JPanel();
    //创建组件
    Label label1 = new Label("账号:");
    JTextField textField1 = new JTextField(10);
    Label label2 = new Label("密码:");
    JPasswordField textField2 = new JPasswordField(10);
    JButton button = new JButton("登录");
    //将组件添加到面板上
    panel.add(label1);
    panel.add(textField1);
    panel.add(label2);
    panel.add(textField2);
    panel.add(button);
    //将面板添加到窗口上
    frame.add(panel);
    //可见窗口
    frame.setVisible(true);
    //事件处理
    button.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        //获取用户名输入框
        String username = textField1.getText();
        //获取密码框
        String pwd = new String(textField2.getPassword());
        //判断用户名和密码
        if(username.equals("123") && pwd.equals("123")) {
          //弹窗
          JOptionPane.showMessageDialog(frame, "登录成功");
        }else {
          JOptionPane.showMessageDialog(frame, "登录失败");
        }
      }
    });
  }
}

运行结果

5.在窗体上有标签,文本框,按钮,在文本框输入账号,点击确定,在数据库中查找是否存在

public class SelectTest {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    JFrame jf = new JFrame("查询");
    jf.setBounds(500, 200, 400 ,300);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //窗体上放中间容器
    JPanel jp = new JPanel();
    //面板上摆放组件
    JLabel jl = new JLabel("请输入账号");
    JTextField field = new JTextField(15);
    JButton btn = new JButton("查找");
    //将组件添加到面板上
    jp.add(jl);
    jp.add(field);
    jp.add(btn);
    //将面板添加到窗体上
    jf.add(jp);
    jf.setVisible(true);
    //事件处理
    btn.addActionListener(new ActionListener() {
      @Override
      public void actionPerformed(ActionEvent e) {
        Connection con = null;
        Statement sta = null;
        ResultSet rs = null;
        String url = "jdbc:mysql://localhost:3306/teacherinfo?serverTimezone=UTC&useSSL=false";
        String user = "root";
        String password = "123456";
        try {
          Class.forName("com.mysql.cj.jdbc.Driver");
          con = DriverManager.getConnection(url, user, password);
          sta = con.createStatement();
          rs = sta.executeQuery("select * from info");
          boolean flag = false;
          while(rs.next()) {
            int id = rs.getInt(1);
            String idTxt = field.getText();
            if (idTxt.equals(String.valueOf(id))) {
              flag = true;
              break;
            }
          }
          if (flag==true) {
            JOptionPane.showMessageDialog(jf, "查找到了");
          }else {
            JOptionPane.showMessageDialog(jf, "没有找到");
          }
        } catch (ClassNotFoundException e1) {
          // TODO Auto-generated catch block
          e1.printStackTrace();
        } catch (SQLException e1) {
          // TODO Auto-generated catch block
          e1.printStackTrace();
        }finally {
          if (rs!=null) {
            try {
              rs.close();
            } catch (SQLException e1) {
              // TODO Auto-generated catch block
              e1.printStackTrace();
            }
          }
          if (sta!=null) {
            try {
              sta.close();
            } catch (SQLException e1) {
              // TODO Auto-generated catch block
              e1.printStackTrace();
            }
          }
          if(con!=null) {
            try {
              con.close();
            } catch (SQLException e1) {
              // TODO Auto-generated catch block
              e1.printStackTrace();
            }
          }
        }
      }
    });
  }
}

运行结果

目录
相关文章
|
15天前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
29 2
|
22天前
|
Java 程序员 测试技术
Java|让 JUnit4 测试类自动注入 logger 和被测 Service
本文介绍如何通过自定义 IDEA 的 JUnit4 Test Class 模板,实现生成测试类时自动注入 logger 和被测 Service。
21 5
|
1月前
|
Java 流计算
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
37 1
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
|
27天前
|
存储 人工智能 Java
将 Spring AI 与 LLM 结合使用以生成 Java 测试
AIDocumentLibraryChat 项目通过 GitHub URL 为指定的 Java 类生成测试代码,支持 granite-code 和 deepseek-coder-v2 模型。项目包括控制器、服务和配置,能处理源代码解析、依赖加载及测试代码生成,旨在评估 LLM 对开发测试的支持能力。
36 1
|
1月前
|
XML Java Maven
在 Cucumber 测试中自动将 Cucumber 数据表映射到 Java 对象
在 Cucumber 测试中自动将 Cucumber 数据表映射到 Java 对象
53 7
|
1月前
|
分布式计算 Java 大数据
大数据-122 - Flink Time Watermark Java代码测试实现Tumbling Window
大数据-122 - Flink Time Watermark Java代码测试实现Tumbling Window
31 0
|
2月前
|
SQL JavaScript 前端开发
基于Java访问Hive的JUnit5测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Java、来开发Hive应用的方法,产生的代码如下
71 6
|
1月前
|
算法 Java 测试技术
数据结构 —— Java自定义代码实现顺序表,包含测试用例以及ArrayList的使用以及相关算法题
文章详细介绍了如何用Java自定义实现一个顺序表类,包括插入、删除、获取数据元素、求数据个数等功能,并对顺序表进行了测试,最后还提及了Java中自带的顺序表实现类ArrayList。
19 0
|
3月前
|
IDE Java 测试技术
揭秘Java高效编程:测试与调试实战策略,让你代码质量飞跃,职场竞争力飙升!
【8月更文挑战第30天】在软件开发中,测试与调试对确保代码质量至关重要。本文通过对比单元测试、集成测试、调试技巧及静态代码分析,探讨了多种实用的Java测试与调试策略。JUnit和Mockito分别用于单元测试与集成测试,有助于提前发现错误并提高代码可维护性;Eclipse和IntelliJ IDEA内置调试器则能快速定位问题;Checkstyle和PMD等工具则通过静态代码分析发现潜在问题。综合运用这些策略,可显著提升代码质量,为项目成功打下坚实基础。
61 2
|
3月前
|
XML Java 测试技术
Selenium WebDriver自动化测试(基础篇):不得不掌握的Java基础
关于Selenium WebDriver自动化测试的Java基础篇,涵盖了Java的变量、数据类型、字符串操作、运算符、流程控制、面向对象编程、关键字用法、权限修饰符、异常处理和IO流等基础知识点,为进行自动化测试提供了必要的Java语言基础。
103 1