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;


'''


猜你喜欢

转载自blog.csdn.net/snszwh/article/details/78236681