Java,按字母顺序排序字符串,不带数组 [英] Java, sort strings alphabetically without arrays

查看:131
本文介绍了Java,按字母顺序排序字符串,不带数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我有另一个任务做,任务是使用compareTo方法按字母顺序分类3个字符串。基本上,程序从测试器类接收3个字符串(a,b和c),并且它应该返回getMin,getMiddle和getMax。

So I have another assignment to do and the task is to assort 3 strings alphabetically using the compareTo method. Basically the program receives 3 strings (a, b, and c) from a tester class and its supposed to return back the "getMin", "getMiddle", and "getMax".

我想出了getmin和max,看起来很容易,但是我有getMiddle的问题。
这是我对最小和最大的:

I figured out the getmin and max, seemed easy but im having problems with the getMiddle. this is what i have for min and max:

        String min = "";
    if (a.compareTo(b) <= 0 && a.compareTo(c) <= 0) min = a;
    else if (b.compareTo(a) <= 0 && b.compareTo(c) <= 0) min = b;
    else if (c.compareTo(b) <= 0 && c.compareTo(a) <= 0) min = c;
    return min;

,类似地,get max只是略有不同。我如何去创建getMiddle。此外,我们不允许使用数组,因为我们还没有学习他们。

and similarly for get max only slightly different. How can I go about creating the getMiddle. Also we are not allowed to use arrays as we "haven't learned" them yet. and the prof said that the code for get middle should be around 5-6 lines.

感谢

推荐答案

将compareTo方法的返回值相乘。
如果值为中,compareTo方法的结果有不同的符号。
使乘法结果为零或具有负号。

Multiply return values of compareTo method. If the value is middle, results of compareTo method have different signs. do multiply result is zero or has negative sign.

String getMiddle(String a,String b,String c)
{
    String middle = "";
    if (a.compareTo(b)*a.compareTo(c) <= 0) middle = a;
    else if (b.compareTo(a)*b.compareTo(c) <= 0) middle = b;
    else if (c.compareTo(b)*c.compareTo(a) <= 0) middle = c;
    return middle;
}

这篇关于Java,按字母顺序排序字符串,不带数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆