2012-03-28 88 views
0

我正在运行一个方法需要(char,double,char)并返回一个double或一个字符串。Java - 处理数据类型不匹配并继续执行程序

我在返回字符串时遇到错误。我如何处理字符串并继续该程序?

我确实有一个try catch,它捕获字符串,但程序停止。

非常感谢。

所有我的代码,

public class Function 
{ 
    public static double shippingCost(char packageType, double weight, char customerType) 
    { 
    ................. 
    ................. 
    } 

} 

*这并不意味着是好的设计。它用于错误测试。

+1

'返回一个双。但是它也会返回一个字符串,你能澄清一下吗?举一个例子。 – 2012-03-28 00:55:19

+1

一个代码示例会很有帮助,因为它很难理解你的问题是什么...... – Chan 2012-03-28 00:56:39

+0

不,你只能返回一种东西。您可以将它设为java.lang.Object并返回java.lang.String或java.lang.Double,但它根本不是一个好的抽象。没有理由将运费返回为double或String。我会写一个Money类并返回它。 – duffymo 2012-03-28 01:00:06

回答

3

您可能可以从方法返回Object(这将允许您返回一个String或Double)。在调用这些方法的代码中,您需要检测返回结果是什么类型的对象,以便您可以正确处理它。

+1

好..它有助于说明为什么这种方法不是很好或不好看。 – Jayan 2012-03-28 11:54:13

2

代码逻辑必须拆分。一个方法返回double,另一个返回String。同样的事情应该应用于参数。只有方法体内总是使用的东西应该被传递。代码干净,避免含糊不清。