class getstring
{
public static void main(String[] args)
{ System.out.println("input");
int b=0;
char c[]=new char[100];
int a=0;
char d ;
while(true)
{
try
{
a=System.in.read();
}
catch(Exception e)
{
e.printStackTrace();
}
d=(char)a;
c[b++]=d;
if(d=='\n')
{
for(int i=0;i<b;i++)
System.out.print(c[i]);
b=0;
}
if(c[0]=='b'&&c[1]=='o'&&c[2]=='y')
break;
}
}
}象这个程序怎么如果不给a付0值,就通不过编译?
或是d='';也不通不过,
还有那个break能用return(0)代替吗?return(0)是干什么的,经常见
请大家指点指点我
{
public static void main(String[] args)
{ System.out.println("input");
int b=0;
char c[]=new char[100];
int a=0;
char d ;
while(true)
{
try
{
a=System.in.read();
}
catch(Exception e)
{
e.printStackTrace();
}
d=(char)a;
c[b++]=d;
if(d=='\n')
{
for(int i=0;i<b;i++)
System.out.print(c[i]);
b=0;
}
if(c[0]=='b'&&c[1]=='o'&&c[2]=='y')
break;
}
}
}象这个程序怎么如果不给a付0值,就通不过编译?
或是d='';也不通不过,
还有那个break能用return(0)代替吗?return(0)是干什么的,经常见
请大家指点指点我
有些函数要求参数不能为null
局部变量和对象成员成员区别
局部变量通俗一点就是方法里面定义的变量
如 你的main方法里面的 int b=0;
局部变量在Java里面使用前要显式的赋值,不然会编译错误
对象成员通俗讲就是方法外定义的变量,如果你不赋值 默认会有一个值 对象为null,
基本类型为相应的默认值 看看下面的类 class Test {
int ii ; //对象成员
public void hhh() {
int b ; //局部变量
System.out.println(ii);//ok,不需要显示赋值 就有默认值
//b = 0 ; 如果这句注释掉,编译错误
System.out.println(b); //wrong
}
}
体会一下所以你要份情局部变量和对象成员
int a;
放在main外面就付值,不付值都编译不了啊
那你说那个char d怎么就不用付值呢?
而要通过一个对象 new getstring().a 引用或者 static int a ;这样定义a就可以了
d=(char)a;你这里已经对d赋值了 ,所以可以啊你试试下面的语句 肯定不可以 char d ;
d++; //没有赋值就调用
d=(char)a;
用return是让函数返回的在你的程序里可以替代区别在于用return的话 该函数下面的语句就不能执行了
你的类里面while{} 后面没有语句了 所以效果一样