关于变量初始话的问题 一定要的,局部变量一定要初始化。实例变量可以不要初始化,因为java会为变量提供初始值 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java 虽然是会给variable自动设值,但是,它的compiler还是强制developper给每个variable初始值。因为你在给c值的时候在一个try里面,所以,到了你后面的if时,程序并不知道c已经是有值的了。所以报错。再说了,如果,try失败,action rolled back.c 倒是真的没有值了。 这是JAVA的语法规则啊,没有初始化怎么分配内存? hayai(生命树) 说得对,因为你加了try 所以编译的时候认为你的变量有可能没有初始化,所以当你比较的时候有可能为null,所以java 认为这是不安全的,强制它要初始化。你可以在try 中catch 中同时对c 进行初始化。但这样比较傻。 因为jdk是不会对成员变量初始化的,而你在调用变量c(if(c=='l')一句)时c有可能没有被付值(比如直接回车),这在编译是通不过的。必须在调用变量之前明确对其付值。比如这样是没问题的:package untitled14;import java.io.*;public class Untitled1 { public Untitled1() { } public static void main(String[] args) { char c; System.out.println("Enter a letter"); try{ c=(char)System.in.read(); }catch(IOException e){c='1';}; if(c=='l') System.out.println("Left"); else if(c=='r') System.out.println("Right"); else System.out.println("Unknown"); }} 在JS当中控制文本框只读和修改 java正则表达式 求大牛解决一个十分基础的算法疑惑~简单选择排序~ list怎么转化成arraylist 以前做J2EE对J2SE没有太多的研究,现需要做一个J2SE的桌面应用程序,请大家给推荐几本书 eclipse里的tomcat运行不起来---高手请进 该怎么注册监听呀?????急!!!!在线等待 这么一个问题,居然没人能完整的回答我?唉! 有关诊听器的结构问题。帮忙了,大哥大姐|!! Java与C标识符命名的区别 init() java编程思想的题目答案在那里下载啊
因为你在给c值的时候在一个try里面,所以,到了你后面的if时,程序并不知道c已经是有值的了。所以报错。
再说了,如果,try失败,action rolled back.c 倒是真的没有值了。
package untitled14;
import java.io.*;
public class Untitled1 { public Untitled1() {
}
public static void main(String[] args) {
char c;
System.out.println("Enter a letter");
try{
c=(char)System.in.read();
}catch(IOException e){c='1';};
if(c=='l')
System.out.println("Left");
else if(c=='r')
System.out.println("Right");
else
System.out.println("Unknown");
}
}