修改一个简单的Java程序

publicclassBike{//对象的标识符intcolour;intmaterial;inttype;inta;//对象的状态属性//对象的行为voidride()... public class Bike {
// 对象的标识符
int colour;
int material;
int type;
int a;// 对象的状态属性
// 对象的行为
void ride(){

}

void control(int a){

if(a=number1){
System.out.println("转弯");
}

else if (a=number2){
System.out.println("直行");
}

else (a=number3){
System.out.println("停止");
}

}

public static void main(String[] args) {
int number1 = 1;
int number2 = 2;
int number3 = 3;
int a=new int(3);
a.control();
}

}
2楼的很好,但还有一个错误,系统提示a.control();错误,系统显示如下:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method control(int) in the type Bike is not applicable for the arguments ()
展开
 我来答
臭臭他娘
2010-04-11
知道答主
回答量:41
采纳率:0%
帮助的人:0
展开全部
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Administrator
*/
public class Bike {
// 对象的标识符

int colour;
int material;
int type;
int a;// 对象的状态属性
// 对象的行为

void ride() {
}

void control(int a) {

if (a == number1) {
System.out.println("转弯");
} else if (a == number2) {
System.out.println("直行");
} else if (a == number3) {
System.out.println("停止");
}

}
private int number1 = 1;
private int number2 = 2;
private int number3 = 3;

public static void main(String[] args) {
// int a = new int(3);
// a.control();
Integer a = new Integer(3);
new Bike().control(a);
}
}

number1、number2、number3必须要设置为全局变量才可以使用。

int a = new int(3); int 是一个数据类型,不是一个类。所以不能这么用。

应用外部的非静态的变量要使用类的对像。

更改之后, 结果正确!!!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yaoerguoguo
2010-04-07
知道答主
回答量:32
采纳率:0%
帮助的人:0
展开全部
二楼正确 你的control()方法是该类Bike的方法,所有你必须实例化一个Bike的对象,也就是new个.才可以调用类中的方法
并不是 int a=new int(3); 而是Bike a = new Bike();(没有复写父类的构造方法的时候)
如果你复写构造方法
Bike(int a) {
this.a = a;
}
那么new的时候就要传参数进去Bike a = new Bike(3);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
非情林q
2010-04-07 · TA获得超过987个赞
知道小有建树答主
回答量:1157
采纳率:100%
帮助的人:977万
展开全部
public class Bike {
int colour;

int material;

int type;

int a;

Bike(int a) {
this.a = a;
}

void ride() {

}

void control(){

if(a == 1){
System.out.println("转弯");
}

else if (a == 2){
System.out.println("直行");
}

else if (a == 3){
System.out.println("停止");
}

}

public static void main(String[] args) {
Bike a = new Bike(3);
a.control();
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rundeathman
2010-04-07 · TA获得超过189个赞
知道小有建树答主
回答量:454
采纳率:0%
帮助的人:140万
展开全部
public static void main(String[] args) {
int number1 = 1;
int number2 = 2;
int number3 = 3;
Bike a=new Bike();
a.control(1);
a.control(2);
a.control(3);
}

}
2 3楼错误的;类无构造器 怎么能在NEW的时候传参?只能在方法里传参
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
问车网
2010-04-07 · 超过13用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:0
展开全部
a.control();改为control(a);并且control函数中的number1,2,3直接写为1,2,3.你这里的number1等根本传不到函数control中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式