黑马程序员技术交流社区
标题:
代码中的问题,输出结果有问题
[打印本页]
作者:
吴超
时间:
2012-5-9 15:05
标题:
代码中的问题,输出结果有问题
import java.util.Scanner;
class WeekDemo
{
private static int week;
public static void main(String []args)
{
Scanner input=new Scanner(System.in);
System.out.println("请输入月份");
int week=input.nextInt();
System.out.println(week);
show();
}
static void show()
{
if(week<1 || week>12)
{
System.out.println("你所输出的不正确");
}
else if(week>=3 && week<=5)
{
System.out.println(week+"月份是春季");
}
else if(week>=6 && week<=8)
{
System.out.println(week+"月份是夏季");
}
else if(week>=9 && week<=11)
{
System.out.println(week+"月份是秋季");
}
else{
System.out.println(week+"月份是冬季");
}
}
}
复制代码
作者:
刘亚超
时间:
2012-5-9 15:17
你的代码09行,又定义了一个局部变量 int week 。把int 去掉就可以了。
作者:
黄秋
时间:
2012-5-9 15:24
int week=input.nextInt(); 改为: week=input.nextInt(); 不要那 int,如果要的话,就是局部变量。
其实,show() 改为带参的方法更好,具体自己试试。
作者:
HeiMaYSL
时间:
2012-5-9 16:10
import java.util.Scanner;
class WeekDemo
{
private static int week;
public static void main(String []args)
{
Scanner input=new Scanner(System.in);
System.out.println("请输入月份");
int week=input.nextInt(); //把这里的int 去掉,因为,你上面已经定义过成员变量int week了,如果你在这里再重新定义的话,就是局部变量了,就只能在main这个大括号中有用了。
而且,这里你要使用的week就是上面定义过的week。这里你就不应该再重新定义一个新的了。
System.out.println(week);
show();
}
static void show()
{
if(week<1 || week>12)
{
System.out.println("你所输出的不正确");
}
else if(week>=3 && week<=5)
{
System.out.println(week+"月份是春季");
}
else if(week>=6 && week<=8)
{
System.out.println(week+"月份是夏季");
}
else if(week>=9 && week<=11)
{
System.out.println(week+"月份是秋季");
}
else{
System.out.println(week+"月份是冬季");
}
}
}
作者:
江杰
时间:
2012-5-9 18:34
import java.util.Scanner;
class WeekDemo
{
private static int week;
public static void main(String []args)
{
Scanner input=new Scanner(System.in);
System.out.println("请输入月份");
week = input.nextInt();//只要去掉此处的int week 就行 ,应为你又定义了一个成员变量,在再这里定义就成了局部变量了
System.out.println(week);
show();
}
static void show()
{
if(week<1 || week>12)
{
System.out.println("你所输出的不正确");
}
else if(week>=3 && week<=5)
{
System.out.println(week+"月份是春季");
}
else if(week>=6 && week<=8)
{
System.out.println(week+"月份是夏季");
}
else if(week>=9 && week<=11)
{
System.out.println(week+"月份是秋季");
}
else{
System.out.println(week+"月份是冬季");
}
}
建议:我运行了下 能得出结果,但是每次输如月份后判断完了 后必须重新编译运行一次,
是否可以改进一下,只运行一次,就能随便判断每个月。
作者:
黄秋
时间:
2012-5-9 18:53
看到大家给出的代码,都没带参数的。其实,show() 改为带参数的方法,不用全局变量,只用局部变量更好,原因就不详细说了。
import java.util.Scanner;
class WeekDemo
{
public static void main(String []args)
{
Scanner input=new Scanner(System.in);
System.out.println("请输入月份");
int week=input.nextInt();
System.out.println(week);
show(week);
}
static void show(int week)
{
if(week<1 || week>12)
{
System.out.println("你所输入的不正确");
}
else if(week>=3 && week<=5)
{
System.out.println(week+"月份是春季");
}
else if(week>=6 && week<=8)
{
System.out.println(week+"月份是夏季");
}
else if(week>=9 && week<=11)
{
System.out.println(week+"月份是秋季");
}
else{
System.out.println(week+"月份是冬季");
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2