华为2013年在长沙的一个机试题是判断润年。年份要求是四位数。
输入样例:
2012
2122
afdsfa
22.33
输出样例:
YES
NO
ERROR
我的答案是:
Java代码
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异常类的结构如下
2013华为校招机试与面试题整理(2)
内容版权声明:除非注明,否则皆为本站原创文章。
转载注明出处:http://www.heiqu.com/d373524501748152184e33ad2cd4747f.html