Java:接收三个数字(short,int,long),该方法必须返回最大的数字

时间:2018-10-29 05:38:28

标签: java

基本上,我的方法必须接收三种不同的数据类型(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() {
}

}

3 个答案:

答案 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");
}