请帮助根据顶部数字/分数排序字符串(顺便说一句,根据我们的教练,我们不能使用arrays.sort)
package test;
import java.util.Scanner;
public class Test
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String [] name = new String[10];
int [] score = new int [10];
int temp = 0;
//Displaying elements of original array
for (int i = 0; i < 10; i++) {
System.out.println("\nNumber " + (i+1));
System.out.print("Input your name: ");
name[i] = sc.next();
System.out.print("Input your score: ");
score[i] = sc.nextInt();
}
//Sort the array in descending order
for (int i = 0; i < score.length; i++) {
for (int j = i+1; j < score.length; j++) {
if(score[i] < score[j]) {
temp = score[i];
score[i] = score[j];
score[j] = temp;
}
}
}
System.out.println();
//Displaying elements of array after sorting
System.out.println("Elements of array sorted in descending order: ");
for (int i = 0; i < 3; i++) {
System.out.println("the score of " + name[i] + " is " +score[i] + ". ");
}
}
}
示例输入是这样的
k1 96
k2 92
k3 94
k4 98
k5 91
k6 95
k7 90
k8 99
k9 93
k10 97
我想要的输出是这样的
k8 99
k4 98
k10 97
但是发生的是:
k1 99
k2 98
k3 97
请帮忙,我想要一个简单的解释。非常感谢。
//Sort the array in descending order
for (int i = 0; i < score.length; i++) {
for (int j = i+1; j < score.length; j++) {
if(score[i] < score[j]) {
temp = score[i];
score[i] = score[j];
score[j] = temp;
}
}
}
在这里,对数组排序时,只交换score
元素。要保持名称
/分数
配对,您应该交换偶数名称元素:
//Sort the array in descending order
for (int i = 0; i < score.length; i++) {
for (int j = i+1; j < score.length; j++) {
if(score[i] < score[j]) {
temp = score[i];
score[i] = score[j];
score[j] = temp;
tmp = name[i]
name[i] = name[j]
name[j] = tmp
}
}
}
您有两个数组,一个名为name
,另一个名为score
。
只对分数进行排序
,而不对名称
进行更改。
我建议两种解决方案中的任何一种:
或
我建议尝试实现数字1,因为名字和分数在概念上是同一个对象的一部分,比如“年龄”和“名字”是代表“人”的对象。
希望这有帮助,祝你的作业好运:-)
我目前不知道这是如何启用的,但每次我在编辑器中打开一个需要一些参数的文件时,它都会在左侧显示其名称。E、 图中显示的是“值:”。我想禁用它,这样它就不会再显示了。
问题内容: 我正在编程一个网络管理系统,并且需要能够在从SNMP陷阱接收到的OID后面打印出有意义的名称。由于系统的性质/大小,将每个OID手动映射到正在使用的每个设备上的每个MIB的有意义的名称不是一个好主意。 话虽如此,对于MIB中的所有OID,是否有一种免费的(商业用途)自动将名称/描述与其各自的OID配对的方法;然后将这些配对用于Java程序? 换句话说,是否存在将MIB树转换为Java对
问题内容: 我正在使用globus工具包进行项目。在我的服务中,我有一个资源:一个字符串数组。我想从Android客户端获取此资源。我怎样才能做到这一点?如何在wsdl文件中描述“字符串数组”类型?谢谢。 问题答案: 我猜你在找这个 资料来源:http : //www.activebpel.org/samples/samples-2/BPEL_Samples/Resources/Docs/arra
问题内容: 我正在尝试将jenkins管道作为代码来做。我正在使用Github组织文件夹插件来扫描Github组织并为每个分支创建作业。有没有一种方法可以明确定义从Jenkinsfile获取的管道作业的名称?我还想为作业添加一些说明。 问题答案: 您需要使用如下所示。该部分很重要 编辑:上面一个重命名生成,其中原始问题是关于重命名作业。在管道中执行以下脚本可以做到这一点(这需要 适当的权限 )
本文向大家介绍JavaScript 描述符和命名属性,包括了JavaScript 描述符和命名属性的使用技巧和注意事项,需要的朋友参考一下 示例 属性是对象的成员。每个命名属性都是一对(名称,描述符)。该名称是允许访问的字符串(使用点符号object.propertyName或方括号符号object['propertyName'])。描述符是对字段的记录,这些字段定义了访问属性时的行为(属性发生了
Python 中,通过使用描述符,可以让程序员在引用一个对象属性时自定义要完成的工作。 本质上看,描述符就是一个类,只不过它定义了另一个类中属性的访问方式。换句话说,一个类可以将属性管理全权委托给描述符类。 描述符是 Python 中复杂属性访问的基础,它在内部被用于实现 property、方法、类方法、静态方法和 super 类型。 描述符类基于以下 3 个特殊方法,换句话说,这 3 个方法组成