输入
输入一段字符(正确为数字有可能出现其他字母,符号等非法字符)
输出
提示所输入是否为闰年,如果输入不是数字则提示输入不合法。
闰年的定义
能被4整除但不能被100整除,或者能被400整除的。
测试用例
编号 | 输入 | 预计输出 |
1 | 400 | 是 |
2 | 1000 | 否 |
3 | 10/*0 | 非法 |
测试截图:
代码:
import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.TextField; import javafx.scene.layout.AnchorPane; import javafx.scene.text.Text; import javafx.stage.Stage; public class Run_nian extends Application { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Run_nian.launch(args); } @Override public void start(Stage stage) throws Exception { // TODO Auto-generated method stub AnchorPane root = new AnchorPane(); Text nian = new Text("Year:"); AnchorPane.setLeftAnchor(nian, 10.0); AnchorPane.setTopAnchor(nian, 10.0); final TextField field = new TextField(); AnchorPane.setTopAnchor(field,10.0); AnchorPane.setLeftAnchor(field, 50.0); Button but = new Button("ok"); AnchorPane.setTopAnchor(but, 50.0); AnchorPane.setLeftAnchor(but, 100.0); but.setOnAction(new EventHandler<ActionEvent>(){ public void handle(ActionEvent event){ String out = new String("输入不是闰年"); try{ int year = Integer.parseInt(field.getText()); if(year%400==0||(year%4==0&&year%100!=0)){ out = "输入是闰年"; } } catch(Exception e){ out = "输入不合法"; } System.out.println(out); } }); root.getChildren().addAll(nian,field,but); stage.setScene(new Scene(root,250,100)); stage.show(); } }
对于Integer.parseInt(String)的报错问题
若不适用try catch 的异常解决方法,直接使用 Integer.parseInt()会报错,如下
该错误是由于本函数是将字符串参数作为带符号十进制整数来分析。除过第一个字符为 ASCII 字符中减号 ‘-‘
表示的负数,字符串中的字符都必须是十进制数。
时间: 2024-10-08 20:50:34