2013华为校招机试与面试题整理(2)

华为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异常类的结构如下

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/d373524501748152184e33ad2cd4747f.html