华为2013机试题

华为2013年在长沙的一个机试题是判断润年。年份要求是四位数。

输入样例:

2012

2122

afdsfa

22.33

输出样例:

YES

NO

ERROR

 

我的答案是:

 

package cn.william;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

/**
 * 华为2013年机试题:求润年
 * @author william
 *
 */
public class Test extends JFrame{
	private JLabel lable;
	private JTextField field;
	
	public static void main(String[] args){
		Test frame = new Test();
		frame.init();
	}
	
	public void init(){
		this.setSize(400, 250);
		this.setLayout(null);
		lable = new JLabel("请输入年份:");
		field = new JTextField();
		lable.setBounds(140, 90, 120, 30);
		field.setBounds(140, 120,120, 30);
		this.add(field);
		this.add(lable);
		this.setVisible(true);
		
		field.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				String year = field.getText().toString();
				if(year.length() != 4){
					System.out.println("ERROR");
					return;
				}
				int y = 0;
				
				try{
					y = Integer.parseInt(year);
				}catch(Exception ex){
					System.out.println("ERROR");
					return;
				}
				
				
				check(y);
			}
		});
	}
	
	private void check(int year){
		
		if(year == 0){
			System.out.println("ERROR");
			return;
		}
		
		if(year % 100 == 0){
			if(year % 400 == 0){
				System.out.println("YES");
			}else{
				System.out.println("NO");
			}
		}else{
			if(year % 4 == 0){
				System.out.println("YES");
			}else{
				System.out.println("NO");
			}
		}
	}

}

 

 

顺便复习一下java异常的知识。

异常定义:能让程序意外中断运行的指令流。

java异常类的结构如下

Throwable包括了一切的异常。ERROR是JVM的异常,不可以用我们的代码处理。Exception是我们程序中可能出现的异常,可以处理。

RuntimeException和Exception的关系:

RuntimeException继承自Exception,RuntimeException和它的子类可以不用try catch进行处理。

 

ry{
	y = Integer.parseInt(year);
}catch(Exception ex){
	System.out.println("ERROR");
	return;
}

 

其实这里 Integer.parseInt(year) 可能会抛出NumberFormatException的,但是eclipse并没有提示这句代码需要处理异常,因为NumberFormatException是RuntimeException的子类。

当然因为RuntimeException是Exception的子类,所以,也可以用try catch来处理。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.m或d论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 、1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值