1、题目:小明家要修院子,小明测量了院子的长和宽之后想通过编写一个程序告诉院子的周长和面积,名为Yard类:
属性:长和宽(private double)
方法:有参构造方法初始化边长。
getPerimeter()和getAcreage(),运算并返回周长和面积。
(1)
package com.test01;
import java.util.Scanner;
public class Yard {
private double Long;
private double Wide;
public Yard(double Long, double Wide) {
this.Long = Long;
this.Wide = Wide;
}
public double getPerimeter() {
return 2 * (Long + Wide);
}
public double getAcreage() {
return Long * Wide;
}
public double getLong() {
return Long;
}
public void setLong(double l) {
Long = l;
}
public double getWide() {
return Wide;
}
public void setWide(double wide) {
Wide = wide;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入长:");
Double Long = in.nextDouble();
System.out.println("请输入宽:");
Double Wide = in.nextDouble();
Yard yard = new Yard(Long, Wide);
System.out.println("院子周长为:"+ yard.getPerimeter());
System.out.println("院子的面积为:" + yard.getAcreage());
}
}
(1)package com.test01;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入长:");
Double Long = in.nextDouble();
System.out.println("请输入宽:");
Double Wide = in.nextDouble();
Yard y = new Yard(Long, Wide);
System.out.println("院子周长为:"+ y.getPerimeter());
System.out.println("院子的面积为:" + y.getAcreage());
}
}
2.题目:父类为Shape类,定义为抽象类,有getAcreage()方法(获取面积)定义为抽象方法。
子类1:Circle类:半径属性(private double);有参构造方法、重写Shape父类的抽象方法getAcreage(),返回面积。
子类2:Rectangle类:长和宽属性(private double);有参构造方法、重写Shape父类的抽象方法getAcreage(),返回面积。
(2)1
package com.test02;
public abstract class Shape {
abstract double getAcreage();
}
(2)2
package com.test02;
public class Circle extends Shape{
private double r;
public Circle(double r) {
this.r = r;
}
double getAcreage() {
return Math.PI * r *r;
}
}
(2)3
package com.test02;
public class Rectangle extends Shape{
private double length;
private double width;
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
@Override
double getAcreage() {
return length*width;
}
public double getLength() {
return length;
}
public void setLength(double length) {
this.length = length;
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
}
(2)4
package com.test02;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入半径:");
double r = in.nextDouble();
System.out.println("请输入长:");
double length = in.nextDouble();
System.out.println("请输入宽:");
double width = in.nextDouble();
Circle h = new Circle(r);
Rectangle j = new Rectangle(length,width);
System.out.println("圆形面积:"+String.format("%.2f", h.getAcreage()));
System.out.println("长方形面积:"+j.getAcreage());
}
}
3.题目:父类为Animal类,抽象类,有eat()和work()两个抽象方法,分别是吃东西和工作方法。
子类1:Cat类:重写Animal父类的抽象方法eat()和work()方法。
子类2:Dog类:重写Animal父类的抽象方法eat()和work()方法。3)1
package com.test03;
public abstract class Animal {
abstract void eat();
abstract void work();
}
(3)2
package com.test03;
public class Cat extends Animal{
@Override
void eat() {
System.out.println("猫咪在吃鱼");
}
@Override
void work() {
System.out.println("猫咪在抓老鼠");
}
}
(3)3
package com.test03;
public class Dog extends Animal{
@Override
void eat() {
System.out.println("狗狗在吃骨头");
}
@Override
void work() {
System.out.println("狗狗正在看家");
}
}
(3)4
package com.test03;
public class Test {
public static void main(String[] args) {
Cat c = new Cat();
c.eat();
c.work();
Dog d = new Dog();
d.eat();
d.work();
}
}
4.题目:编写一个学校接待方面的程序,招待不同身份的人的食宿问题。
定义一个公开的接口类 Person,该类实现两个功能,第一个为 eat(),实现输出吃饭的功能,无返回值,第二个为 sleep(),实现睡觉的功能,无返回值。
定义一个 Student 类并实现 Person 接口,实现eat()和sleep()两个方法。
定义一个 Teacher 类并实现 Person 接口,实现eat()和sleep()两个方法。
(4)1
package com.test04;
public interface Person {
void eat();
void sleep();
}
(4)2
package com.test04;
public class Student implements Person{
@Override
public void eat() {
System.out.println("学生去食堂吃饭");
}
@Override
public void sleep() {
System.out.println("学生在宿舍睡觉");
}
}
(4)3
package com.test04;
public class Teacher implements Person{
@Override
public void eat() {
System.out.println("老师去教室食堂吃饭");
}
@Override
public void sleep() {
System.out.println("老师在学校公寓睡觉");
}
}
(4)4
package com.test04;
public class Test {
public static void main(String[] args) {
Student s = new Student();
s.eat();
s.sleep();
Teacher t = new Teacher();
t.eat();
t.sleep();
}
}
5.题目:使用 HashMap 集合的常用方法完成所给要求,具体如下:
- 1.接收给定的一行字符串(如:红烧鱼:50,小炒牛肉:75,…);
- 2.切割字符串,把切割后的元素添加进 HashMap 集合中;
- 3.往集合中添加一道菜,菜名:lamb,价格:50;
- 4.输出所有菜名(不含价格);
- 5.删除红烧鱼和小炒牛肉这两道菜后输出集合长度;
6.打印集合。
注意:字符串中的逗号和分号都是中文符号。
(5)
package com.test05;
import java.util.HashMap;
import java.util.Scanner;
public class Project {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String input = in.next();
// 粉蒸肉:50,红烧鱼:50,小炒牛肉:75,手撕包菜:20,蒜蓉虾:100
HashMap<String, String> dishes = new HashMap<>();
String[] pairs = input.split(",");
// System.out.println(pairs[0]);
// System.out.println(pairs[1]);
for(int i =0;i<pairs.length;i++) {
String[] jia = pairs[i].split(":");
// System.out.println(pairs[i]);
dishes.put(jia[0], jia[1]);
}
dishes.put("lamb", "50");
// System.out.println(input);
System.out.println(dishes.keySet());
dishes.remove("红烧鱼");
dishes.remove("小炒牛肉");
System.out.println(dishes.size());
System.out.println(dishes.toString());
}
}
6.题目:
要求1:创建数据库newsdb,在数据库中创建一张新闻表news,表结构为:
字段 | 类型 | 说明 |
id | int | 编号,主键 |
title | varchar(30) | 标题 |
author | varchar(30) | 作者 |
要求2:完成数据库连接
要求3:完成数据添加(添加两条记录)、删除(根据id来删除)、更新(根据id来更新)以及查询(根据条件查询)方法。
(6)
package com.test06;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class project01 {
public static String dirver = "com.mysql.cj.jdbc.Driver";
public static String url = "jdbc:mysql://localhost:3306/newsdb?serverTimezone=UTC";
public static String user = "root";
public static String password = "123456";
//封装一个方法,可以返回数据库连接对象
public static Connection getConn() {
Connection conn = null;
try {
//1.加载驱动文件 driver :(指向驱动类的路径) com.mysql.cj.jdbc.Driver
Class.forName(dirver);
//2.获得数据库连接对象conn
/*
* 参数:root:用户名,123456:密码
* ur1:jdbc:mycql://localhost:3306/java(主机:端口/数据名)
*/
conn = DriverManager.getConnection(url,user,password);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public static void main(String[] args) {
Statement stmt = null;
Connection conn = null;
ResultSet rs = null;
try {
//1.建立数据库的连接
conn = getConn();
System.out.println("添加两条记录:");
//编写好sql语句
//1.添加数据
String sql1 = "insert into news values(1, 'python', '哈哈'),(2, 'java', '嘻嘻');";
//2.删除数据
String sql2 = "delete from news where(id=2);";
//3.更新数据
String sql3 = "update news set author='小猫' where(id=1);";
//4.查询数据
String sql4 = "select * from news where id=1;";
//创建statment对象
stmt = conn.createStatement();
//sql语句传递到数据库执行
stmt.execute(sql1);
System.out.println("添加成功!!!");
stmt.execute(sql2);
System.out.println("已删除!");
stmt.execute(sql3);
System.out.println("已更新!");
stmt.execute(sql4);
System.out.println("已查询!");
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
stmt.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}