2009-10-28 128 views
-1

赋值函数返回值赋值函数返回值

添加一个新方法emptyMachine()到旨在模拟排空钱 机器TicketMachine类应该都在总收益的价值和重置价值总数为零。 整个方法粘贴到下面的空白处

public int emptyMachine() 
    { 
     System.out.println("# " + total); 
     total = 0; 

    } 

我得到这个错误:

TicketMachine.java:44: missing return statement 
    } 
    ^
1 error 
The output should have been: 
    emptyMachine() returns correct value 
    emptyMachine() empties machine 

This is what was actually produced: 
    Exception in thread "main" java.lang.NoClassDefFoundError: TicketMachine 
+1

正如编译器所说。你错过了退货声明。你的方法必须返回一个int – jitter 2009-10-28 22:40:21

+2

只要在语句中随意输入语句,直到检查器很快乐,学习如何编写代码是一种非常低效的方法,即使称为StackOverflow的Oracle为您提供了解决方案。如果你想学习编程,最好建议实际尝试理解变量,方法和返回语句的含义。 – meriton 2009-10-28 22:58:06

+0

您已将返回类型设置为“int”,但您没有返回值。 – Raptor 2009-10-29 06:43:09

回答

0

你的方法签名声明,它返回一个int,但你完全不返回任何东西。

public int emptyMachine() 
{ 
    System.out.println("# " + total); 
    total = 0; 
    return total; 
} 

我必须假定变量'total'是在方法之外定义的,因为您不向我们显示该代码。

+0

public int emptyMachine() { System.out.println(“#”+ total); total = 0;总回报: ; } 你的意思是? – Tical 2009-10-28 22:46:46

+0

马克:0出1个 评论: *测试1(0.0分,1) 编译成功 输出应该是: emptyMachine()返回正确的值 emptyMachine()清空机 这是实际产生的内容: #300 #0 emptyMachine()清空机器 – Tical 2009-10-28 22:49:15

+0

@Tical:我刚刚添加了一个作为教学类型的东西,但是,是的,OP的任务是返回'total'。 – 2009-10-28 23:02:58

2

说明:“”这都应该在返回值总计将总计值重置为零。“”

这很简单。在这种情况下,“”和“”只能用作“以及”“。

public int emptyMachine() 
{ 
    int prevTotal = total; 
    total = 0; 
    return prevTotal; 
} 

Win \ o /!