下面是两个数组,UserName() 和 Score()
现在要把每个用户的的分之和 给每一位用户,
即重新生成两个新的数组,
比如结果因该是:
xing 共得分 xxx
xingworld 共得分 xxx
Richardmax 得分 xxx
用尽量简练的语言怎么做,谢谢! 二个数组别为:
UserName="xing, xingworld, xingworld, xingworld, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, Richardmax, xing, xing, xing, xing, xing, Richardmax, Richardmax, Richardmax, Richardmax, Richardmax, Richardmax, Richardmax"
WinScore="1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36"用java类来实现或javascript都可?
现在要把每个用户的的分之和 给每一位用户,
即重新生成两个新的数组,
比如结果因该是:
xing 共得分 xxx
xingworld 共得分 xxx
Richardmax 得分 xxx
用尽量简练的语言怎么做,谢谢! 二个数组别为:
UserName="xing, xingworld, xingworld, xingworld, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, xing, Richardmax, xing, xing, xing, xing, xing, Richardmax, Richardmax, Richardmax, Richardmax, Richardmax, Richardmax, Richardmax"
WinScore="1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36"用java类来实现或javascript都可?
将上述数据遍历一遍后即可
public SplitAdd() {
}
public String[] userName; //新数组存储三个人的姓名
public int[] winScore; //新数组存储三个人的总成绩
public void add(String[] user,int[] score){
int xingScore=0;
int xwScore=0;
int rcmScore=0;
for(int i=0;i<user.length;i++){
String name = user[i];
if(name.equals("xing")){
xingScore = xingScore + score[i];
}
if(name.equals("xingworld")){
xwScore = xwScore + score[i];
}
if(name.equals("Richardmax")){
rcmScore = rcmScore + score[i];
}
}
//为新数组添加三个人的名字
this.userName[0] = "xing";
this.userName[1] = "xingworld";
this.userName[2] = "Richardmax";
//为新数组添加三个人的总成绩
this.winScore[0] = xingScore;
this.winScore[1] = xwScore;
this.winScore[2] = rcmScore;
}
}
===================================
import java.util.Enumeration;
import java.util.Hashtable;public class HashtableTest {
public HashtableTest() {
}
public static void main(String[] args){
String UserName="xing,xingworld,xingworld,xingworld,xing,xing,xing,xing,xing,xing,xing,xing,xing,xing,xing,xing,xing,xing,xing,xing,xing,xing,xing,Richardmax,xing,xing,xing,xing,xing,Richardmax,Richardmax,Richardmax,Richardmax,Richardmax,Richardmax,Richardmax";
String WinScore="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36";
//先将字符串分割,放到数组里去
String[] userNames = UserName.split(",");
String[] strWinScores = WinScore.split(",");
int[] winScores = new int[strWinScores.length];
for(int i = 0;i < strWinScores.length;i++){
winScores[i] = Integer.parseInt(strWinScores[i]);
}
//建立一个Hashtable,userName为key, score为value
Hashtable hashtable = new Hashtable();
for(int i = 0; i < userNames.length;i++){
if( hashtable.containsKey(userNames[i])){
int score = ((Integer)hashtable.get(userNames[i])).intValue();
score += winScores[i];
hashtable.remove(userNames[i]);
hashtable.put(userNames[i],new Integer(score));
} else{
hashtable.put(userNames[i],new Integer(winScores[i]));
}
}
Enumeration e=hashtable.keys();
while(e.hasMoreElements()){
String key = (String)e.nextElement();
System.out.print(key + "得分:");
System.out.println(hashtable.get(key));
}
}
}
-----------------------
Richardmax得分:255xing得分:402xingworld得分:9
public static void main(String[] args){
String[] UserName={"xing","xingworld","xingworld","xingworld","xing","xing","xing","xing","xing","xing","xing","xing","xing","xing","xing","xing","xing","xing","xing","xing","xing","xing","xing","Richardmax","xing","xing","xing","xing","xing","Richardmax","Richardmax","Richardmax","Richardmax","Richardmax","Richardmax","Richardmax"};
int []WinScore={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36};
String name1="xing";
String name2="xingworld";
String name3="Richardmax";
int n1Sc=0;//name的成绩
int n2Sc=0;//name2的成绩
int n3Sc=0;//name3的成绩
for(int i=0;i<UserName.length;i++){
if(UserName[i]==name1){
n1Sc+=WinScore[i];
}
if(UserName[i]==name2){
n2Sc+=WinScore[i];
}
if(UserName[i]==name3){
n3Sc+=WinScore[i];
}
}
System.out.println(name1+"共得分"+n1Sc);
System.out.println(name2+"共得分"+n2Sc);
System.out.println(name3+"共得分"+n3Sc);
}
}
public static void main(String[] args) {
String[] userName = { "xing", "xingworld", "xingworld", "xingworld", "xing", "xing", "xing", "xing", "xing", "xing",
"xing", "xing", "xing", "xing", "xing", "xing", "xing", "xing", "xing", "xing", "xing", "xing", "xing",
"Richardmax", "xing", "xing", "xing", "xing", "xing", "Richardmax", "Richardmax", "Richardmax", "Richardmax",
"Richardmax", "Richardmax", "Richardmax" };
float[] winScore = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36 };
Map result = new HashMap();
for (int i = 0; i < winScore.length; i++) {
Float total = (Float) result.get(userName[i]);
if (total == null) {
total = new Float(0);
}
total = new Float(total.floatValue() + winScore[i]);
result.put(userName[i], total);
}
Set keySet = result.keySet();
for (Iterator iter = keySet.iterator(); iter.hasNext();) {
String name = (String) iter.next();
System.out.println("User " + name + "wins " + result.get(name) + " points!");
}
}
}