It keeps giving me an error in "Void type not allowed here."
public class BugTester {
public static void main(String[] args) {
Bug bugsy = new Bug(10);
bugsy.move(); //now the position is 11
bugsy.turn();
bugsy.move(); //now the position is 10
bugsy.move();
bugsy.move();
bugsy.move();
// Error message highlights this.
System.out.println("The bug position is a开发者_如何学编程t "+bugsy.move());
}
}
The move() method of Bug does not return a value. It is a void method. You cannot concatenate nothing to a String.
Maybe there is another method of Bug that you want to print the value of like getPosition()?
Looks like you have:
class Bug {
public void move() {
// ...
}
}
If you want to println
bugsy.move()
, then have move()
return the position, not void
.
A common way is to override toString() method which contains major information of a Bug object, including position.
class Bug{
@Override
public String toString(){
return "position="+position;//If you have other attributes to show, modify the mothod rather than modifying its invoker
}
}
Then call System.out.println("The bug is "+bugsy);
精彩评论