好的,我正在关注BrandonioProdtuctions YouTube频道上的Java教程。我在第7部分:面向对象编程简介。我遇到的问题是,当我尝试运行程序时,它会给我在类中的错误(标题为objectIntroTest),我在下面直接粘贴了它。
public class objectIntroTest {
public static void main(String[] args){
String x = "Hello";
objectIntro waterBottle = new objectIntro(0);
waterBottle.addwater(100);
waterBottle.drinkWater(20);
System.out.println("Your remaining water level is:"* + waterBottle.getWater());
}
}
这是另一个名为“objectIntro”的类:
public class objectIntro {
public objectIntro(){
//Default constructor
}
public objectIntro(int waterAmount){
twater = waterAmount;
}
int twater = 0; //This is how much water is in the water bottle
public void addWater(int amount){
twater = twater + amount;
}
public void drinWater(int amount){
twater = twater - amount;
}
public int getWater(){
return twater;
}
}
以下是我尝试运行程序时给出的错误消息:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The method addwater(int) is undefined for the type objectIntro
The method drinkWater(int) is undefined for the type objectIntro
The operator * is undefined for the argument type(s) String, int
at objectIntroTest.main(objectIntroTest.java:6)
为什么会这样?
答案 0 :(得分:5)
System.out.println("Your remaining water level is:"* + waterBottle.getWater());
第二:objectIntro
中的方法是addWater
,您用作waterBottle.addwater(100);
('W'必须被捕获)
和第三个:objectIntro
中的另一种方法是drinWater
,但您再次使用不正确:waterBottle.drinkWater(20);
(额外'k')
在编译之前要更加小心并检查运行时错误。
这是一个关于命名惯例的网站:
http://java.about.com/od/javasyntax/a/nameconventions.htm
答案 1 :(得分:3)
使用addWater
代替addwater
我认为你应该检查java命名约定here
特别naming变量说
除变量外,所有实例,类和类常量都在 带有小写首字母的混合大小写。内部词开头 大写字母。变量名称不应以下划线_或开头 美元符号$字符,即使两者都被允许。
变量名称应该简短而有意义。选择一个 变量名应该是助记符 - 即设计用于指示 不经意的观察者使用它的意图。单字符变量名称 应该避免除临时"一次性"变量。共同 临时变量的名称是整数的i,j,k,m和n; C, d,和字符的e。
答案 2 :(得分:3)
答案 3 :(得分:1)
后期案例错误waterBottle.addwater(100);
方法
addWater(int amount)
使用
waterBottle.addWater(100);
同时从
中删除*System.out.println("Your remaining water level is:"* + waterBottle.getWater());