我有两道Java 题目不会做。
要求是这样
第一题:
编写一个Java程序: 如果输入0,程序直接结束,除外,如果输入 1 2 -1 3 0
输出:正数有3个
负数有1个
一共5个数字
平均数为1.25
第二题是这样:
编写一个程序,让他可以执行以下动作
输入学生数量:4
请学生姓名:小名
输入学生分株:56
请学生姓名:小刘
输入学生分株:47
请学生姓名:小华
输入学生分株:59
请学生姓名:小强
输入学生分株:20
输出:
前2名学生:
小华分数为59.0
小名分数为56.0
需要java语言。哪位大侠花谢这两条程序啊。高分追加!
我的课本是英文的。=。= 要不怎么说会来不及呢。
追答上网查吧,实现写不出来,你再来吧!
追问网上找不太靠谱吧,我的题是英文的,这都是我翻译过来的。
谢谢哈。我一定会琢磨的,麻烦你了。明天要交,拜托大家了。
追答第一题:
import java.util.*;
public class TestOne {
public static void main(String[] args) {
// TODO Auto-generated method stub
int positive_count=0;//正数个数
int negative_count=0;//负数个数
int total_count=0;//输入的数字总个数
double avg=0;//平均数
double sum=0;//输入的数总和
System.out.println("请输入数字:");
Scanner sc = new Scanner(System.in);
while(true){
double number = sc.nextDouble();
sum=sum+number;
total_count++;
if(number==0){
break;//如果用户输入了0,则停止输入,开始输出
}else{
if(number>0){
positive_count++;
}else if(number<0){
negative_count++;
}
}
}
if(total_count==1){
//如果只输入了一个0,则程序退出
return;
}else{
avg=sum/total_count;//算出平均数
System.out.println("正数有:"+positive_count+"个");
System.out.println("负数有:"+negative_count+"个");
System.out.println("一共有:"+total_count+"个数字");
System.out.println("平均数为:"+avg);
}
}
}
第二题写不下了,如果需要你追问我
这个我看懂了。谢谢哈。那那那。第二个呢?
追答第二题:
import java.util.*;
public class TestTwo {
public static void main(String[] args) {
// TODO Auto-generated method stub
List list=new ArrayList();
int student_count=0;//学生个数
System.out.println("请输入学生个数:");
Scanner sc = new Scanner(System.in);
student_count = sc.nextInt();
for(int i=1;i<=student_count;i++){
Hashtable hs=null;
System.out.println("请输入学生姓名:");
String stu_name=sc.next();
System.out.println("请输入学生分数:");
double stu_score=sc.nextDouble();
hs=new Hashtable();
hs.put("Name",stu_name);
hs.put("Score",String.valueOf(stu_score));
list.add(hs);
}
//采用冒泡法排序
for(int i=0;i<list.size();i++){
for(int j=i+1;j<list.size();j++){
Hashtable hs1=(Hashtable)list.get(i);
double score1=Double.parseDouble((String)hs1.get("Score"));
Hashtable hs2=(Hashtable)list.get(j);
double score2=Double.parseDouble((String)hs2.get("Score"));
if(score1<score2){
list.set(i,hs2);
list.set(j,hs1);
}
}
}
Hashtable stuOne=(Hashtable)list.get(0);
Hashtable stuTwo=(Hashtable)list.get(1);
System.out.println("前2名学生:");
System.out.println(stuOne.get("Name")+"分数为"+stuOne.get("Score"));
System.out.println(stuTwo.get("Name")+"分数为"+stuTwo.get("Score"));
}
}