2011-08-31 100 views
-1

我想编写一个简单的控制台程序,它接受一个字符串和整数作为输入,将它们输入到一个数组中,按整数对它们进行排序,并相应地返回内容。我一直在争取这个计划很长一段时间,所以非常感谢帮助:)。如何添加一个字符串和int并按int排序

+5

也许向我们显示您的代码? – develerx

+0

请阅读此:http://stackoverflow.com/questions/how-to-ask –

回答

4

方法是创建一个既包含信息的字符串又包含int部分的类。您可以为每个int /字符串对创建一个实例。然后你可以把这些实例放入一个数组中。您可以使用Arrays.sort对数组进行排序。请注意,你的班级必须执行Comparable,正如链接的API文档所述。

+0

谢谢,正要显示我的代码,但我想这一直帮助我:) –

+0

我会建议你学习如何首先使用Arrays.sort进行排序算法。我都是高水平的编程,但你必须有基本的感觉。 – Farmor

0

你应该写一个int和String作为字段的类,并为这个类实现一个Comparator。将你的元素插入数组,然后使用Arrays.sort()对其进行排序。

0

我违背目前这里。所有人都建议你使用Arrays.sort()我建议你不要。

这就是原因。当开始学习编程时,我发现它是一种有趣而且非常好的学习形式来实现你自己的算法,如果你已经实现了几次自我排序,你将会对计算机科学有更深入的理解。所以,你自己的排序算法,当你跌倒那么使用Arrays.sort()。

0

除非知道条目数,否则我不会使用数组作为输入。你可以使用ArrayList,所以你不需要知道。

class StringInt implement Comparable<StringInt> { 
    final String string; 
    final int num; 

    public StringInt(String string, int num) { 
     this.string = string; 
     this.num = num; 
    } 

    public int compareTo(StringInt si) { 
     return num > si.num ? +1 : num < si.num ? -1 : 0; 
    } 
} 

List<StringInt> list = new ArraysList<StringInt>(); 

// add element. 
list.add(new StringInt("Hello", 1)); 

// sort them 
Collections.sort(list); 
2

而不是阵列,使用TreeMap<Integer, String>。 TreeMap按照自然顺序中的“键”排序。你所要做的就是迭代它。

由amit给出的解决方案也可以。