基本上,我的方法必须接收三种不同的数据类型(short, int, long
)并显示最大的数据类型。但是该方法无法翻译它们,因为我正在使用char
,这很明显,但是我不知道该用什么,我需要一种不同的方式来使用'return'强制转换那些对象。
错误消息:类中的方法不能应用于给定的类型。必填:short,int,long
是的,我需要使用Swing库...
package homework;
import javax.swing.JOptionPane;
public class test {
String result = null;
public static int addnumber(String title, String message){
return JOptionPane.showInputDialog(null, title,message, -1).charAt(0);
}
public static void largest(short a, int b, long c) {
if (a > b) {
System.out.println(a + " Is the largest number");
} else if (a > c) {
System.out.println(a + " Is the largest number");
} else if (b > a) {
System.out.println(b + " Is the largest number");
} else if (b > c) {
System.out.println(b + " Is the largest number");
} else if (c > a) {
System.out.println(c + " Is the largest number");
} else if (c > b) {
System.out.println(c + " Is the largest number");
}
else {
System.out.println("wrong number");
}
}
public static void main(String[] args) {
largest(addnumber(
"Number", "Add number"));
}
public test() {
}
}
答案 0 :(得分:1)
所以听起来您的主要麻烦是从JOptionPane获取值。首先,您不应该使用charAt,因为这只会给您字符的值。这不是您键入的数字。
final Lock reentrantLock = new ReentrantLock(FruitClass.class);
这将为每个JOptionPane提供一个值。
public static int addnumber(String title, String message){
String input = JOptionPane.showInputDialog(null, title,message, -1);
return Integer.parseInt(input);
}
您可以在此处修复最大的方法,以实际打印最大的方法。
答案 1 :(得分:0)
像这样largest((short)22,14,6);
传递变量
并将您的逻辑替换为
public static int largest(short a, int b, long c) {
if (a > b) {
if (a > c) {
return a;
} else
return (int) c;
} else {
if (b > c)
return b;
else
return (int) c;
}
}
答案 2 :(得分:0)
不要认为强制转换是一个问题。试试看:
private static void largest(short a, int b, long c) {
if (a > b && a > c)
System.out.println(a + " Is the largest number");
else if (b > c)
System.out.println(b + " Is the largest number");
else
System.out.println(c + " Is the largest number");
}