关于java的一道题目,求大神解
import java.util.*;
import java.util.*;
public class BestPoint {
/**
* 关于java的一道题目,编写 程序,提示用户用户输入学生的个数,
* 每个学生的名字及其分数,最后显示最高分和第二高分!目前只学习到循环,
* 面向对象和数组都还没学习!!
*/
public static void main(String[] args) {
System.out.print("输入学生的个数:");
Scanner scanner=new Scanner(System.in);
int count=scanner.nextInt();
String namebest=null;
int pointbest=0;
String namesecond=null;
int pointsecond=0;
int point=0;
for (int i = 1; i <= count; i++) {
System.out.println("请输入第"+i+"个学生的姓名");
String name=scanner.next();
System.out.println("请输入第"+i+"个学生的成绩");
point=scanner.nextInt();
if(point>pointsecond&&point>pointbest){
pointbest=point;
namebest=name;
}
else if(point>pointsecond&&point<pointbest){
pointsecond=point;
namesecond=name;
}
}
System.out.println("最高分的姓名是:"+namebest+" "+"最高分是"+pointbest);
System.out.println("第二高的姓名是:"+namesecond+" "+"第二高分是:"+pointsecond);
}
}
public class Demo {
public static void main(String[] args) {
String first = null;
String second = null;
int fristNum = 0;
int secondNum = 0;
Scanner scan = new Scanner(System.in);
for(int i=1;i<5;i++){
System.out.print("请输入第"+i+"人的姓名:");
second = scan.next();
System.out.println();
System.out.print("请输入第"+i+"人的分数:");
secondNum = Integer.parseInt(scan.next());
if(secondNum>fristNum){
int temp = 0;
String tempName= null;
temp= secondNum;
tempName = second;
second = first;
first = tempName;
secondNum = fristNum;
fristNum = temp;
}
System.out.println("--------------------------------");
}
System.out.println("第一名为:"+first+"\t"+"分数为:"+fristNum);
System.out.println("第二名为:"+second+"\t"+"分数为:"+secondNum);
}
}
没做异常处理
根据输入的数 来决定循环几次 每次输入一个字符串和整数
用两个变量 一个来存最大的 一个存第二大的
最后都不用显示那个字符串 直接输出这两变量就行
-----------------------------------------------------------------------
代码还是自己写的好 要是想应付老师 加到200分 自然有人写
我只剩100个悬赏币了,帮我写啦大神,都给你了!
我是渣 只不过学得比哥们你早点而已 ..
弄个伪代码吧
数据可以这么处理 字符串就不写了
int n=sc.nextInt();
if(n<2)
//巴拉巴拉 输出n不能比2小啊 n至少大于2什么的;
int diyi=sc.nextInt();
int dier=sc.nextInt();//这么写至少要输入两个数
for(int i=2;i<n;++i)//前面输入了两个 所以从2开始
{
int x=sc.nextInt();//每次读一个
if(x>diyi)//要是比第一个大 那这次输入的x就是最大
diyi=x;
else if(x>dier)//没有第一个大 看看他是不是第二
dier=x;
//要是两个都不满足就不管了
}
//最后输出了 完事
//可能还要存储字符串 多两个变量和一个临时变量的事
import java.util.*;
public class Test{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.println("输入人数");
int n = scanner.nextInt();
int num,max1=0,max2=0;
for(int i = 0;i<n;i++){
System.out.println("输入成绩");
num = scanner.nextInt();
if(num>max1&&num>max2){
max1 = num;
}else if(num<max1&&num>max2){
max2 = num;
}
}
System.out.println("最大:"+max1+"第二大:"+max2);
}
}
求源代码!!谢谢