包含java的rank的词条
本篇文章给大家谈谈java的rank,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java投票排名实现
- 2、java 数组求最小的三个值,并且考虑平手
- 3、用java找出这几个list,所有可能的组合,并且组合结果的list中的数据不允许重复
- 4、用java做题根据输入的分数,输出该成绩的等级(如优秀、良好、中、几个或不及格?
java投票排名实现
两种实现方式:1)sql,2)java
1)sql语句-mysql
SELECT NAME,num,ranking
FROM (SELECT NAME,num,
IF (num =@num ,@ranking ,@ranking :=@ranking + 1)AS ranking,
@num := num
FROM score,
(SELECT @ranking := 0,@num:=-1) tmp
ORDER BY num DESC
)tmp
2) java实现
public static void main(String[] args) {
//初始化数据
ListRank ranks = Arrays.asList(new Rank("薛之谦", 100l),
new Rank("陈奕迅", 102l),
new Rank("田馥甄", 100l),
new Rank("周杰伦", 99l));
//按分数降序排序
ranks.sort((r1, r2) - r2.getNum().compareTo(r1.getNum()));
//计算排名
int ranking = 0;
long num = -1;
for (Rank rank : ranks) {
rank.setRanking(rank.getNum() == num ? ranking : ++ranking);
num = rank.getNum();
}
//输出
ranks.forEach(o - System.out.println(o.getName() + ";" + o.getNum() + ":" + o.getRanking()));
}
java 数组求最小的三个值,并且考虑平手
public static void main(String[] args) {
try {
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
int[] num1=new int[6];
int[] num2=new int[6];
String a;
for(int i=0; i 6; i++) {
System.out.println("请输入第" + (i + 1) + "个元素");
a=br.readLine();
num2[i]=Integer.parseInt(a);
num1[i]=Integer.parseInt(a);
}
StringBuilder result=new StringBuilder();
result.append("最小的是");
Arrays.sort(num1);
int rank=1;
int min=0;
int count=0;
for(int i=0; i 6 rank = 3; i++) {
if(min != num1[i] count=3) {
for(int k=0; k 6; k++) {
if(num1[i] == num2[k]) {
if(min != num2[k]) {
min=num2[k];
rank++;
}
result.append(k + 1).append("号,");
count++;
}
}
result.append("数值是:").append(num1[i]).append(";");
if(rank = 3 count=3) {
result.append("第").append(rank).append("小的是");
}
}
}
System.out.println(result);
} catch(IOException e) {
e.printStackTrace();
}
}
用java找出这几个list,所有可能的组合,并且组合结果的list中的数据不允许重复
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.TreeSet;
public class MyCode {
static TreeSetString ts = new TreeSet();
static StringBuffer stb = new StringBuffer();
public static void main(String args[]) {
ListInteger a = new ArrayList();
a.add(1);
a.add(2);
a.add(3);
ListInteger b = new ArrayList();
b.add(2);
b.add(3);
b.add(4);
b.add(5);
ListInteger c = new ArrayList();
c.add(5);
c.add(6);
ListInteger d = new ArrayList();
d.add(5);
ListInteger e = new ArrayList();
e.add(7);
String arr[];
ListString names = (Arrays.asList("a,b,c,d,e".split(",")));
ArrayListListInteger list = new ArrayList();
list.add(a);
list.add(b);
list.add(c);
list.add(d);
list.add(e);
for (int i = 0; i list.size(); i++) {
ListInteger temA = new ArrayList(list.get(i));
for (int j = i + 1; j list.size(); j++) {
ListInteger temB = new ArrayList(list.get(j));
temA.retainAll(temB);
if (temA.size() = 0) {
ListInteger temC = new ArrayList(list.get(i));
ListInteger temD = new ArrayList(list.get(j));
temC.addAll(temD);
stb.append(names.get(i) + "," + names.get(j) + ",");
getNameIndex(temC, list, i, j, names);
arr = stb.toString().split(",");
Arrays.sort(arr);
ts.add(Arrays.toString(arr));
stb.delete(0, stb.length());
}
}
}
for (IteratorString it = ts.iterator(); it.hasNext();) {
System.out.println(it.next());
}
}
private static void getNameIndex(ListInteger listTem, ListListInteger listB, int x, int y,
ListString names) {
for (int i = 0; i listB.size(); i++) {
if (i == x || i == y) {
continue;
}
ListInteger listN = new ArrayList(listTem);
ListInteger listM = new ArrayList(listB.get(i));
listN.retainAll(listM);
if (listN.size() = 0) {
stb.append(names.get(i));
break;
}
}
}
}
你这个,麻雀虽小,五脏俱全呢,看似一个简单的小玩意,挺费劲的!
主要用的是交集,并集,难点就是因为嵌套,有点饶头..你自己琢磨一下吧!
用java做题根据输入的分数,输出该成绩的等级(如优秀、良好、中、几个或不及格?
import java.util.Scanner;
public class DemoTest03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的成绩,按回车键确定...");
int grade = sc.nextInt();
char rank;
/*
确定成绩的范围,具体到数据
*/
if(grade = 90) rank = 'S';
else if(grade = 80) rank = 'A';
else if(grade = 70) rank = 'B';
else if(grade = 60) rank = 'C';
else rank = 'D';
/*
switch不能判断表达式
在JDK1.5之前,switch循环只支持byte short char int四种数据类型.
JDK1.5 在switch循环中增加了枚举类与byte short char int的包装类------》对四个包装类的支持是因为java编译器
在底层手动进行拆箱,而对枚举类的支持是因为枚举类有一个ordinal方法,该方法实际上是一个int类型的数值.
JDK1.7在switch循环中增加了String类型-------》但实际上String类型有一个hashCode算法,结果也是int类型.
而byte short char类型可以在不损失精度的情况下向上转型成int类型.所以总的来说,可以认为switch中只支持int.
*/
switch (rank) {
case 'S' :
System.out.println("优秀");
break;
case 'A' :
System.out.println("中");
break;
case 'B' :
System.out.println("良好");
break;
case 'C' :
System.out.println("及格");
break;
case 'D' :
System.out.println("不及格");
break;
default :
System.out.println("系统错误,不存在的等级!");
break;
}
}
}
关于java的rank和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-27,除非注明,否则均为
原创文章,转载请注明出处。