java题目

题目一

定义一个接口,其中包含一个display()方法用于显示信息:通知类、汽车类、广告类均要实现该接口,以显示‘通知内容’、汽车油量“”、广告信息“”,试编程实现并测试类的设计。创建的对象用接口引用,并通过接口引用变量执行display()方法。

解答
package homework;

public interface news {
    void display();
}
class inform implements news{
 public void display(){
  System.out.println("通知信息");
 }
}
class car implements news{
public void display(){
  System.out.println("汽车油量");
 }
}
class ad implements news{
 public void display(){
  System.out.println("广告消息");
 }
}
class test{
 public static void main(String[] args) {
  news a=new inform();
  a.display();
  a=new car();
  a.display();
  a=new ad();
  a.display();
 }
}
题目二

使用java API中的Date类或者Calendar类下的方法去获取当前时间并且随机生成日期
年份在:2000年-2050之间的随机数,月份:1-12的随机数,日:1-31的随机数,时:1-24的随机数,分:0-59的随机数,秒:0-59的随机数。要按照以下进行日期格式化输出。并且判断当前时间是否在随机日期的后面。

在这里插入图片描述

解答(个人能力有限,有其他方法请讨论)
方法一(使用date类)
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;


public class time2 {
	
	 public static void main(String[] args) {
		 
	//第一部分:当前时间
		 Date newTime = new Date(); 
		 //创建dateFormatter对象实例并定义好转换格式
		 SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy年-MM月-dd日 E \na hh时:mm分:ss秒");  
		 String formatDate = dateFormatter.format(newTime);  
		 System.out.println("当前时间为:" + formatDate);//打印当前时间

		 
		 
	//第二部分:随机自定义时间
		 Random ran = new Random();
		 int year = ran.nextInt(51)+2000; //年份在:2000年-2050之间的随机数,
		 int month = ran.nextInt(12)+1;//月份:1-12的随机数,
		 int day = ran.nextInt(31)+1;//日:1-31的随机数,
		 int hour = ran.nextInt(24)+1;//时:1-24的随机数,
		 int minute = ran.nextInt(60);//分:0-59的随机数,
		 int second = ran.nextInt(60);//秒:0-59的随机数。
		 
		 //Randate为随机时间字符串
		 String Randate =  year + "-" + month + "-" + day+ " " + hour+ ":" + minute + ":" + second ;
		
		 // 创建dateFormatter2对象实例并定义好转换格式,给随机生成的时间用
		 SimpleDateFormat dateFormatter2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  
		 
		 //把字符串Randate转换成时间,date为随机时间
		 Date date = null;
	        try {
	             date = dateFormatter2.parse(Randate);
	        } catch (ParseException e) {
	            e.printStackTrace();
	        }
	     
	     //随机时间格式化输出
	     String RanDate = dateFormatter.format(date); 
	     System.out.println("随机自定义时间为:" + RanDate);
	        
	        
	        
	 //第三部分:当前时间位于自定义时间之后吗?
	    System.out.println("\n当前时间位于自定义时间之后:" + (newTime.getTime()  > date.getTime()));
	        
	 }
	 
	
}

方法二 (使用Calendar类 )
import java.text.SimpleDateFormat;
import java.util.Calendar;


public class time2_1 {
	public static void main(String[] args) {
		
		SimpleDateFormat sdf = new SimpleDateFormat("yyy年-MM月-dd日 E \na hh时:mm分:ss秒");
		
		//输出当前时间
		Calendar c1 = Calendar.getInstance();
		c1.getTime();
		System.out.println("当前时间为:" + sdf.format(c1.getTime()));
		
		//随机生成时间
		Calendar c2 = Calendar.getInstance();
		int y = (int)(Math.random()*51 + 2000);
		int M = (int)(Math.random()*12 + 1);
		int d = (int)(Math.random()*31 + 1);
		int h = (int)(Math.random()*12 + 1);
		int m = (int)(Math.random()*60);
		int s = (int)(Math.random()*60);
		c2.set(y, M-1, d, h, m, s);
		System.out.println("随机自定义时间为:" + sdf.format(c2.getTime()));

		//当前时间与随机时间比较
		boolean res = c1.after(c2);
		System.out.println("当前时间位于自定义时间之后:" + res);
		
		
		
	}
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值