java学习中遇到的问题:变量的调用

import java.util.Scanner;
public class YearMonth{
	public static void main(String [] args){
			//以下判断是否闰年
			System.out.print("请输入您需要查询的年份:");
			Scanner input = new Scanner(System.in);
			int year = input.nextInt(); //获取输入的值为年份
			int runnian = 0;  //直接在判断语句中声明runnian变量,会造成在判断语句之外不能调用,所以先在外部声明
			if ((year%400==0)||((year%4==0)&&(year%100!=0))){
				System.out.println(year+"是闰年!");
				runnian = 1; 
			}else{
				System.out.println(year+"不是闰年。");
				//runnian = 0;
			}
			System.out.println(runnian);
			System.out.println("请输入您要查询的月份:");
			Scanner input2 = new Scanner(System.in);
			int month = input.nextInt(); //获取输入的值为月份
			//sanyi = {1,3,5,7,8,10,12};  //可以创建一个字典,然后in 
			if ((month==4)||(month==6)||(month==9)||(month==11)){
				System.out.println(month+"有30天。");
			}else if(month==2){
				if(runnian == 1){
					System.out.println(month+"有29天。");
				}else{
					System.out.println(month+"有28天。");
				}
			}else{
				System.out.println(month+"有31天。");
			}
	}
}

在第一个if语句中,用到runnian变量才开始定义,在if判断语句结束后,在外部就不能再直接调用runnian变量

解决方法:

直接现在外部声明变量

(或者,在代码开头,就把所需变量提前声明好,需要时直接调用或赋值)

例:

int a;

int b;


'''


'''

a = 10;

b = 10;


'''


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值