import java.io.*;
public class Example0307
{public static void main(String [] args) throws IOException
{InputStreamReader reader=new InputStreamReader(System.in);
BufferedReader input =new BufferedReader(reader);
System.out.print("input the month:");
String text=input.readLine();
int n=0;
if(text.startsWith("Jan")) n=1;System.out.println("n");
if(text.startsWith("Feb")) n=2;System.out.println("n");
if(text.startsWith("Mar")) n=3;System.out.println("n");
if(text.startsWith("Apr")) n=4;System.out.println("n");
if(text.startsWith("May")) n=5;System.out.println("n");
if(text.startsWith("Jun")) n=6;System.out.println("n");
if(text.startsWith("Jul")) n=7;System.out.println("n");
if(text.startsWith("Agu")) n=8;System.out.println("n");
if(text.startsWith("Sem")) n=9;System.out.println("n");
}
}运行结果为:
input the month:
Jannary
n
n
n
n
n
n
n
n
n
竟然会把n全打出来..为什么啊..不太明白...它只能满足一个if条件啊..怕怕
public class Example0307
{public static void main(String [] args) throws IOException
{InputStreamReader reader=new InputStreamReader(System.in);
BufferedReader input =new BufferedReader(reader);
System.out.print("input the month:");
String text=input.readLine();
int n=0;
if(text.startsWith("Jan")) n=1;System.out.println("n");
if(text.startsWith("Feb")) n=2;System.out.println("n");
if(text.startsWith("Mar")) n=3;System.out.println("n");
if(text.startsWith("Apr")) n=4;System.out.println("n");
if(text.startsWith("May")) n=5;System.out.println("n");
if(text.startsWith("Jun")) n=6;System.out.println("n");
if(text.startsWith("Jul")) n=7;System.out.println("n");
if(text.startsWith("Agu")) n=8;System.out.println("n");
if(text.startsWith("Sem")) n=9;System.out.println("n");
}
}运行结果为:
input the month:
Jannary
n
n
n
n
n
n
n
n
n
竟然会把n全打出来..为什么啊..不太明白...它只能满足一个if条件啊..怕怕
解决方案 »
- for字句中声明的变量,其作用范围为什么在for之外仍然有效?
- io
- java反射返回问题
- 关于线程结束和主程之间的传值问题,急!!!
- JAVA时间减去300秒如何得到另外一个时间?
- jstl 的 c:forEach 问题
- 如何改变按钮的大小?
- JBuilder插件最新版(2003-2-18制作),插件源程序等,欢迎下载 :)
- 安装jive,数据库是sql server Database Connection Setup这一步过不去了
- 正在学习java,但还没搞懂java到底能干什么,能说说你用java开发什么吗?回答必给分,真的!!
- 菜鸟求救..........................................................!!!!!!!!!!!~~~~~~~~~~~~
- 做一道题目遇到的java中参数传递的问题
执行到n=1时,if判断已经执行完成了
System.out.println("n");是肯定执行的
下面也一样所以用if的时候建议就算只执行一条语句也用{}括起来
{
n=1;
System.out.println(n);
}
n不要引号,是变量
String[] prefix = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
for(int i = 0; i < prefix.length; i++)
{
if(text.startWith(prefix)
{
System.out.println(i + 1);
break;
}
}
for(int i = 0; i < prefix.length; i++)
{
if(text.startWith(prefix[i])
{
System.out.println(i + 1);
break;
}
}