小弟刚刚自学java,在学习时遇到一个编程题,问题是y=x+3(x>0)
=0(x=0)
=x*x-1(x>0)
这是小弟编的代码,
这是报错
恳请大神帮助,!!!
public class byt2 {
public static void main(String[] args) {
int x=3; int y = 0;
if (x>0){
//int y=getYa(x); 已经定义过y,无需再定义了
y = getYa(x);
}else if(/*x=0 这里判断错误了表示是否相等用==*/x == 0){
y = 0;
}else if (x < 0){
//int y=getYb(x); 已经定义过y,无需再定义了
y = getYb(x);
}
System.out.println("y="+ y/*y这里y有可能没初始化,在第五行初始化y = 0*/);
}
public static int getYa(/*intx中间要有空格*/int x){
//y=x+3; y在新的 函数要定义
int y = x + 3;
return y;
}
public static int getYb(/*intxintx中间要有空格*/int x){
//y在新的 函数要定义
int y=x*x-1;
return y;
}
}
你用汉语字符了吧 你改改看
还有public修饰的类名要一定要大写
哈哈 书写格式不对 两个方法的参数错了 getYb(int x), getYa(int x) 中间有空格的。else if 里面不要将y定义成int类型了,你在之前声明了是int类型了
建议在编译器中写
main 就是一个方法,里面不能嵌套方法定义
这里更好看
https://code.csdn.net/snippets/1603876.git
简而言之:方法里面不能再定义方法。把后两个static方法放到main()外面来。
这是我改了之后的代码,还是报错static int getYa这一句。快帮小弟看看
先用idea或者eclipse写吧,用sublime text写也可以,别用记事本写。
int y = getYa;需要传参int y = getYa(x);
getYa这个方法中参数:int x; 在参数中不应该添加分号
你变量 Y 已经声明定义了,又在下面的逻辑重复定义