`
njsteven2010
  • 浏览: 4322 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

带自定义异常类的时钟

 
阅读更多
import java.text.DecimalFormat;

public class Exec {
	public static void main(String[] args) {
		Clock c1 = null;
		try {
			c1 = new Clock(18, 4, 14);
		} catch (Exception e) {
			e.printStackTrace();
			c1 = new Clock();
		}

		System.out.println(c1.toString());
	}
}

class Clock {
	public Clock() {
		this.hourse = 0;
		this.minute = 0;
		this.second = 0;
	}

	public Clock(int hourse, int minute, int second) {
		setHourse(hourse);
		setMinute(minute);
		setSecond(second);
	}

	public int getHourse() {
		return hourse;
	}

	public void setHourse(int hourse) {
		if (hourse >= 0 && hourse <= 23)
			this.hourse = hourse;
		else
			throw new ClockFormatException();
	}

	public int getMinute() {
		return minute;
	}

	public void setMinute(int minute) {
		if (minute >= 0 && minute <= 59)
			this.minute = minute;
		else
			throw new ClockFormatException();
	}

	public int getSecond() {
		return second;
	}

	public void setSecond(int second) {
		if (second >= 0 && second <= 59)
			this.second = second;
		else
			throw new ClockFormatException();
	}

	@Override
	public String toString() {
		DecimalFormat df = new DecimalFormat("00");
		return (hourse < 12 ? "上午 " : "下午 ") + df.format(hourse) + ":"
				+ df.format(minute) + ":" + df.format(second);
	}

	private int hourse;
	private int minute;
	private int second;
}

class ClockFormatException extends RuntimeException {

	private static final long serialVersionUID = -6387238486450310840L;

	public ClockFormatException() {
		super("时钟转换出错,时钟将被初始化。");
	}

	public ClockFormatException(final String s) {
		super(s);
	}
}
分享到:
评论

相关推荐

    Android 自定义时钟.zip

    Android的自定义时钟通常需要自定义一个View类,继承自Android的View或ViewGroup。在这个类中,你需要重写onDraw()方法来绘制时钟的外观。可以使用Canvas对象进行绘图,包括画圆、线条、文字等。同时,你可能还需要...

    带指针的定时器时钟,VB源代码.rar

    【VB源码-系统相关】中的“带指针的定时器时钟”是一个基于Visual Basic(VB)开发的程序,它模拟了一个具有实际钟表功能的界面,可以实时显示当前的时间、日期以及上午/下午状态。这个项目对于学习VB编程,尤其是...

    STM32F105_USB(带自定义协议).rar

    总之,"STM32F105_USB(带自定义协议)"项目涉及到了STM32F105微控制器的USB设备功能开发,特别是利用HID类来实现64字节长度的数据传输,并结合自定义协议以满足特定应用的需求。开发者需要深入理解USB协议、HID规范...

    Android桌面插件-时钟widget

    时钟Widget是Android系统中的一个核心组件,开发者可以通过自定义实现来提供独特的功能和设计。创建这样的Widget主要涉及以下几个关键知识点: 1. **AppWidgetProvider**: 这是所有Android桌面插件的基础类,开发者...

    java课程设计音乐时钟

    这个项目的核心是利用Java语言编写一个能够显示时间、播放音乐,并允许用户自定义功能的时钟应用。下面将详细阐述这个项目涉及的关键知识点。 1. **Java基础**:首先,你需要对Java编程语言有扎实的理解,包括基本...

    鱼带透明时钟屏保,很难找了,带注册码,完美版

    【标题】:“鱼带透明时钟屏保,很难找了,带注册码,完美版”指的是一个罕见且完整的屏幕保护程序,它将您的电脑屏幕转换为一个动态的、带有透明时钟效果的水族箱场景。这个屏保软件设计独特,能够以透明度调整功能...

    时钟程序(包含任务栏图标类)

    在MFC中,`CTrayIcon`类通常用于管理任务栏通知区的图标,但在这里,描述中提到的是一个“包含较完整功能”的自定义类,可能包含了更多的定制化功能,比如定时更新、右键菜单等。 程序的核心部分将是更新时间显示的...

    C#指针式时钟

    考虑到用户可能需要自定义时钟外观,可以添加设置界面,允许用户更改指针颜色、背景颜色、时钟大小等。 8. **异常处理**: 对于可能出现的异常,如绘图资源无法释放,需要适当的错误处理机制,确保程序的稳定运行...

    java 时钟

    可以使用`javafx.scene.control.Label`或者自定义控件来显示时间,并结合`Timeline`或`ScheduledService`来定期更新时间显示。 4. **计时器和闹钟功能**: 更高级的时钟可能包含计时器和闹钟功能。计时器可以用...

    使用JAVA编制时钟程序

    6. **面向对象编程**:Java是面向对象的语言,时钟程序可能包含多个类,如`Clock`类表示时钟,`TimeDisplay`类负责显示时间,以及可能的`Config`类用于保存和读取用户配置。每个类都有其特定的功能,体现了面向对象...

    VB 指针式时钟

    5. **自定义控件**:虽然VB没有内置的指针式时钟控件,但开发者可以通过继承自`UserControl`类创建自己的控件。这样可以封装时钟的逻辑和绘图,使其在项目中可重用,并且可以调整其外观和行为。 6. **性能优化**:...

    java编写的时钟程序

    你可以通过重写`paintComponent()`方法来实现自定义绘图,如画出时钟的数字、指针等。 5. **线程处理**:为了让时钟持续更新时间,需要创建一个单独的线程来负责刷新界面。这通常通过继承`javax.swing.Timer`类或...

    C++ 电子时钟

    C++是一种通用、面向对象的编程语言,它继承了C语言的效率,并引入了类和模板等高级特性,使得编写复杂程序更加方便。在创建电子时钟项目时,C++的这些特性将发挥关键作用。 **半透明效果**: 在C++中实现半透明...

    dgclock(数字时钟)

    在这个项目中,`dgclock` 可能是一个自定义的类,用于创建具有实时更新时间功能的用户界面组件。下面我们将深入探讨C#类以及如何利用它来构建数字时钟应用。 在C#中,类是一种模板,用于创建对象。类可以包含字段...

    用C#编写的简单的时钟程序

    时钟程序可能会有一个Label控件用来显示时间,或者一个自定义的控件来模拟时钟的外观。 4. **System.Timers.Timer类**:这是一个非常常见的用于实现定时任务的类,它会周期性地触发事件。在时钟程序中,我们可以...

    时钟和简单银行系统

    总的来说,"时钟和简单银行系统"项目涵盖了Java的基础知识,如面向对象编程、类设计、异常处理、线程安全以及输入/输出处理,这些都是成为一名合格Java开发者所必备的技能。通过这个项目,初学者不仅可以巩固编程...

    ege画的时钟代码

    9. **异常处理**:良好的代码会考虑异常处理,确保程序在遇到错误时能够优雅地退出,而不是突然崩溃。 10. **用户交互**:虽然这个例子主要关注时钟显示,但完整的程序可能还会包含一些用户交互元素,如按钮或菜单...

    表盘式时钟

    在自定义的时钟控件类中,我们需要覆盖`OnPaintBackground`方法,让它为空,然后在`OnPaint`方法中执行所有的绘制操作。这样做可以确保所有绘制都在后台缓冲区完成,然后再一次性显示到屏幕上,从而消除闪烁。 在...

    C# 时钟设计

    5. **自定义绘图**: 指针式时钟可能需要我们利用Graphics类进行自定义绘图。通过Pen对象画出时针、分针和秒针,使用DrawLine或DrawArc方法,根据DateTime对象获取的角度计算并绘制指针的位置。 6. **事件驱动编程**...

    MFC应用GDI+实现时钟

    4. **重载OnPaint**:在自定义控件的类中,重载`OnPaint`函数。在这个函数里,我们将使用GDI+绘制时钟。获取`CPaintDC`对象以获取画布,并创建一个`Graphics`对象以进行绘图。 5. **绘制时钟背景**:使用`...

Global site tag (gtag.js) - Google Analytics