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

来源:互联网 发布:三菱plc编程指令 编辑:程序博客网 时间:2024/06/05 02:23
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;


'''