萌新小白学习遇到问题,求各位大佬帮忙看一下哪里出错了?

作者:超级管理员 更新时间:2017-10-31 17:59:26 来源:未知 点击:15642
这个是题目package edu.exam;import java.util.Scanner;public class Exam1 {public static void main(String[] 
这个是题目




package edu.exam;

import java.util.Scanner;

public class Exam1 {

public static void main(String[] args) {
// TODO Auto-generated method stub
String Date;
Scanner in=new Scanner(System.in);
    System.out.println("请按照XXXX-XX-XX格式输入一个生日日期");
Date=in.next();
String[] Dates=Date.split("-");
try{
int year=Integer.parseInt(Dates[0]);
int month=Integer.parseInt(Dates[1]);
int day=Integer.parseInt(Dates[2]);
}
catch(Exception e){
System.out.println("输入错误");
}

if((year>=1900)&&(year<=2013)){
if((month)>=1&&(month<=12)){
if((day>=1)&(day<=31)){
System.out.println("您的生日格式正确");
}
else{
System.out.println("日期格式不正确");
}
}
else{
System.out.println("月份格式不正确");
}
}
}

}



这个是出错的地方
-------------------------------
你的day变量定义在了try语句块内,成了该语句块的局部变量了,建议你试着对day提前声明!
-------------------------------
year,month同上
-------------------------------
变量超出了作用域,另外注意一下命名规范
-------------------------------
下面用到year,month这些变量的代码要放到try里面
public static void main(String[] args) {
String Date;
Scanner in = new Scanner(System.in);
System.out.println("请按照XXXX-XX-XX格式输入一个生日日期");
Date = in.next();
String[] Dates = Date.split("-");
try {
int year = Integer.parseInt(Dates[0]);
int month = Integer.parseInt(Dates[1]);
int day = Integer.parseInt(Dates[2]);
if ((year >= 1900) && (year <= 2013)) {
if ((month) >= 1 && (month <= 12)) {
if ((day >= 1) & (day <= 31)) {
System.out.println("您的生日格式正确");
} else {
System.out.println("日期格式不正确");
}
} else {
System.out.println("月份格式不正确");
}
}
} catch (Exception e) {
System.out.println("输入错误");
}


}
-------------------------------
该回复于2017-10-31 08:54:03被管理员删除
-------------------------------
引用 1 楼 lqb421484327 的回复:
你的day变量定义在了try语句块内,成了该语句块的局部变量了,建议你试着对day提前声明!

怎么对year、month、day提前声明
-------------------------------
引用 6 楼 ShawdowYang 的回复:
Quote: 引用 1 楼 lqb421484327 的回复:

你的day变量定义在了try语句块内,成了该语句块的局部变量了,建议你试着对day提前声明!

怎么对year、month、day提前声明


在try的外面
int year 
这叫声明

在try里面
year=。。。
这叫赋值

声明位置不同,作用域就不同,同样 if,for内声明的变量也不能在外部使用
-------------------------------
引用 4 楼 yuxiangaaaaa 的回复:
下面用到year,month这些变量的代码要放到try里面
public static void main(String[] args) {
String Date;
Scanner in = new Scanner(System.in);
System.out.println("请按照XXXX-XX-XX格式输入一个生日日期");
Date = in.next();
String[] Dates = Date.split("-");
try {
int year = Integer.parseInt(Dates[0]);
int month = Integer.parseInt(Dates[1]);
int day = Integer.parseInt(Dates[2]);
if ((year >= 1900) && (year <= 2013)) {
if ((month) >= 1 && (month <= 12)) {
if ((day >= 1) & (day <= 31)) {
System.out.println("您的生日格式正确");
} else {
System.out.println("日期格式不正确");
}
} else {
System.out.println("月份格式不正确");
}
}
} catch (Exception e) {
System.out.println("输入错误");
}


}


多谢大神相助,已经可以了

引用 7 楼 o0sxdo0 的回复:
Quote: 引用 6 楼 ShawdowYang 的回复:

Quote: 引用 1 楼 lqb421484327 的回复:

你的day变量定义在了try语句块内,成了该语句块的局部变量了,建议你试着对day提前声明!

怎么对year、month、day提前声明


在try的外面
int year 
这叫声明

在try里面
year=。。。
这叫赋值

声明位置不同,作用域就不同,同样 if,for内声明的变量也不能在外部使用

哦哦,好的。多谢!

推荐阅读

热门内容

想了好久,还是不知道在哪出问题了,驱动包

前台错误:type Exception ...

关于java多线程的一个问题

做一个多线程的题目实现*g*g*g*g*...

萌新小白学习遇到问题,求各位大佬帮忙看一

这个是题目package edu.exa...

关于不确定字段查询问题-mybatis

本帖最后由liushuiwuyizhe于...

maven项目打包

求教。一个关于maven打包的问题---...

Java maven项目启动时报错,求救

我在svn上档下来的项目然后转成mave...

郁闷,明明已经导入这些JAR包了怎么还是

在web.xml里面加了这个配置,想通过...

一直报无法解析.hbm.xml 困扰了

一直报无法解析.hbm.xml   困扰...

一直报Could not parse m

这问题整整困扰了 我一天一夜  请大神帮...

什么原因造成mysql无法保存数据

1、我删除了所有表的主外键关联2、也没找...

最新内容

swing 判断单选框问题

    鼓动鼓动 swing  用的 windowbuilder 来进行设计的,...

关于java客户端与mqtt服务器用证书连接的问题

在网上找了很多例子,也实现了用java客户端通过证书连接mqtt服务器,但是有疑...

想了好久,还是不知道在哪出问题了,驱动包也重新下载了好几次,用户密码没问题

前台错误:type Exception reportmessage An exc...

GlassFish5部署应用报错,求大神教育

GlassFish5部署应用报错:Error occurred during d...

关于java多线程的一个问题

做一个多线程的题目实现*g*g*g*g*g*g.......实现其实不难,不过中...

萌新小白学习遇到问题,求各位大佬帮忙看一下哪里出错了?

这个是题目package edu.exam;import java.util.S...

最近学习spring aop 遇到的小白问题,求解答!!

package com.dao;import org.springframewo...

Java代码生成的随机数如果数据库的主键不能对应

建了一张表,查询到了所有题目的数量,然后根据题数随机生成你输入的几个随机数:(i...

web项目在MyEclipse部署正常,打成War包部署到外部Tomcat报空指针

如题,新人小白一个,新网大家帮帮忙用myeclipse启用外部Tomcat调试也...

IDEA里无法创建命名为build的目录?

IDEA里,无法创建命名为build的目录。提示为ignored name,无法...

魅红女性手机微博上线 魅蓝有女朋友了?

    中关村在线消息:今天上午,一个名为“魅红女性手机”的微博账号悄然上线,从...

使用spring+spring MVC + hibernate 实现不同数据库类型(sql server & orcale)切换获取数据

最近按照公司要求  搭个SSH框架   要动态切换获取数据库  网上百度了很多教...

求1到N的和

// 递归function Add($num){    switch ($num...

魅蓝打脸!未发售Note6绿色版高价转卖

    中关村在线消息:日前,有贴吧有网友晒出了他购买的海贼王典藏版的魅蓝Not...

过滤器里面可以拿到session,但是从session里面取出的值为空

本帖最后由zhouhai6833于2017-10-2710:54:55编辑用的s...

Maven的no such method错误

 这个方法在spring jar包里找到了,那么是不是有冲突了?还有我的IDEA...

curl无法获取数据,浏览器正常

curl 无法获取数据 ,报错:Empty reply from serverc...

诺基亚东家HMD新人事任命 临时CEO转正

    中关村在线消息:今天,诺基亚的东家HMD宣布了新的人事任命:临时CEO弗...

升级使用tomcat8.5,jdk8以后出现的报错

信息: Error parsing HTTP request header No...

curl 无法获取数据 Empty reply from server

curlDataTest("http://zhannei.baidu.com/a...