java 对学生进行组班_java用二维数组输出三个班五名学生的成绩 - CSDN
  • Java聚合和组合

    2019-12-05 20:28:32
    Java中类的关系可分为五种:继承、依赖、关联、聚合、组合。 本文我们主要是来分析聚合和组合。 聚合 aggregation 聚合是关联关系的一种特例,聚合关系中两个类的地位是不平等的,它体现的是整体与部分、拥有的...

    Java中类的关系可分为五种:继承、依赖、关联、聚合、组合。

    本文我们主要是来分析聚合和组合。

    聚合 (aggregation)

    聚合是关联关系的一种特例,聚合关系中两个类的地位是不平等的,它体现的是整体与部分、拥有的关系,即has-a的关系。
    下图中,聚合的箭头及指向:带空心菱形的实心线,菱形指向整体

    在这里插入图片描述

    class Family{
    	private List<Children> children;  // 一个家里有许多孩子
    	 
    }

    在聚合关系中,b类是a类的一部分,是一种has-a的关系,即a has-a b,比如在上一段代码中,一个家里有许多孩子。

    但是,has 不是 must has,a可以有b,也可以没有。a是整体,b是部分,整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享。

    组合 (composition)

    组合也是关联关系的一种特例,组合关系中两个类的地位也是不平等的,它同样体现整体与部分的关系,是一种contains-a的关系,这种关系比聚合更强,也称为强聚合。
    下图中,组合的箭头及指向:带实心菱形的实线,菱形指向整体
    在这里插入图片描述

    public class Person {
    	// 一个人有眼睛有手
        private Eye eye = new Eye();
        private Hand hand = new Hand();
    	
    }

    在组合关系中,整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束。比如在上一段代码中,一个人有眼睛有手,当人死亡后,眼睛和手也不复存在了,眼睛和手不能脱离人单独存在。

    聚合与组合的区别和联系

    1. 聚合与组合都是一种特殊的关联关系,都是整体与部分的关系。
    2. 部件的生命周期不同
      1)聚合关系中,整件不会拥有部件的生命周期,所以整件删除时,部件不会被删除。再者,多个整件可以共享同一个部件。
      2)组合关系中,整件拥有部件的生命周期,所以整件删除时,部件一定会跟着删除。而且,多个整件不可以同时间共享同一个部件。
      这个区别可以用来区分某个关联关系到底是组合还是聚合。两个类生命周期不同步,则是聚合关系,生命周期同步就是组合关系。
    3. 聚合关系是has-a关系,组合关系是contains-a关系。
      平时我们只讨论组合和继承的时候,认为组合是has-a 关系,而事实上,聚合才是真正的has-a关系,组合是更深层次的contains-a关系。
      由于contains-a关系是一种更深的has-a关系,所以说组合是has-a关系也是正确的。
    展开全文
  • JAVA 键盘录入学生成绩,排序后输出,set中自定义排序规则。
  • 目标效果: 代码: import java.awt.BorderLayout;...import java.awt.event.ActionEvent;...import java.awt.event.ActionListener;...import java.util.ArrayList;...import java.util....import java.util.Comp

    目标效果:


    代码:

    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.LinkedHashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextArea;
    import javax.swing.JTextField;
    
    /**
     * 编写一个应用程序,用户分别从两个文本框输入学生的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。
     * @author Vivinia
     *
     */
    public class Student extends JFrame {
    	JLabel lName,lScore;      //姓名和成绩标签
    	JTextField tName,tScore;    //文本框
    	JTextArea taShow;    //用于显示的文本区域
    	JButton bSubmit;
    	JPanel pan;
    	Map<String,String> studentMap,resultMap;
    	//主函数
    	public static void main(String[] args) {         
    		new Student();
    	}
    	//构造方法
    	public Student() {              
    		init();
    		click();
    	}
    	//初始化方法
    	public void init() {         
    		lName=new JLabel("姓名");    //实例化
    		lScore=new JLabel("成绩");
    		tName=new JTextField(10);
    		tScore=new JTextField(10);
    		bSubmit=new JButton("确定");
    		pan=new JPanel();
    		taShow=new JTextArea();
    		pan.add(lName);            //控件组合
    		pan.add(tName);
    		pan.add(lScore);
    		pan.add(tScore);
    		pan.add(bSubmit);
    		add(pan,BorderLayout.NORTH);     //设置位置
    		add(taShow, BorderLayout.CENTER);
    		setTitle("统计学生姓名和分数");          //设置窗口基本属性
    		setSize(400, 300);
    		setVisible(true);
    		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    		validate();
    		studentMap=new HashMap<String,String>();                //非窗口属性初始化
    	}
    	//确定按钮被点击		
    	private void click() {
    		bSubmit.addActionListener(new ActionListener() {	   
    			@Override
    			public void actionPerformed(ActionEvent e) {
    				save();
    				showMap();
    			}		
    		});
    	}
    	//点击按钮调用的保存方法
    	private void save() {
    		studentMap.put(tName.getText(),tScore.getText());
    		resultMap = sortMapByValue(studentMap); //按Value进行排序 
    		tName.setText("");         //文本框内容清空
    		tScore.setText("");
    	}
    	//按值排序
    	public static Map<String, String> sortMapByValue(Map<String, String> map) {
    		if (map == null || map.isEmpty()) {
    			return null;
    		}
    		Map<String, String> sortedMap = new LinkedHashMap<String, String>();
    		List<Map.Entry<String, String>> entryList = new ArrayList<Map.Entry<String, String>>(map.entrySet());   //将元素存入List中,类型为entry
    		Collections.sort(entryList, new MapValueComparator());
    		Iterator<Map.Entry<String, String>> iter = entryList.iterator();
    		Map.Entry<String, String> tmpEntry = null;
    		while (iter.hasNext()) {
    			tmpEntry = iter.next();
    			sortedMap.put(tmpEntry.getKey(), tmpEntry.getValue());   //将List中的元素遍历出来存入map
    		}
    		return sortedMap;
    	}
    	//打印列表
    	private void showMap() {
    		taShow.setText("");
    		for(Map.Entry<String,String> entry:resultMap.entrySet()) {	
    			taShow.append("姓名:"+entry.getKey()+"     成绩:"+entry.getValue()+"\n");
    		}		
    	}	
    }
    //比较器类  
    class MapValueComparator implements Comparator<Map.Entry<String, String>> {
    	public int compare(Entry<String, String> s1, Entry<String, String> s2) {
    		return s1.getValue().compareTo(s2.getValue());
    	}
    }
    

    按值排序有点麻烦,思想就是将map中元素遍历出来,使用sort即自定义比较器进行排序,然后重新存入map。


    展开全文
  • 1、标题:哪天返回 小明被不明势力劫持。后被扔到x星站再无问津。小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文。 他决定在x星战打工。好心的老板答应包食宿,第1天给他1元钱。...

    1、标题:哪天返回

    小明被不明势力劫持。后被扔到x星站再无问津。小明得知每天都有飞船飞往地球,但需要108元的船票,而他却身无分文。
    他决定在x星战打工。好心的老板答应包食宿,第1天给他1元钱。
    并且,以后的每一天都比前一天多2元钱,直到他有足够的钱买票。
    请计算一下,小明在第几天就能凑够108元,返回地球。

    要求提交的是一个整数,表示第几天。请不要提交任何多余的内容。

    思路: 看清题目,第1天1元,以后的每一天都比前一天多2元钱,直到他有足够的钱买票。代码简单,不写了。

    2、标题:猴子分香蕉

    5只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。
    第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉。
    第2只猴子醒来,重新把香蕉均分成5堆,还剩下2个,就吃掉并把自己的一份藏起来继续睡觉。
    第3只猴子醒来,重新把香蕉均分成5堆,还剩下3个,就吃掉并把自己的一份藏起来继续睡觉。
    第4只猴子醒来,重新把香蕉均分成5堆,还剩下4个,就吃掉并把自己的一份藏起来继续睡觉。
    第5只猴子醒来,重新把香蕉均分成5堆,哈哈,正好不剩!

    请计算一开始最少有多少个香蕉。

    需要提交的是一个整数,不要填写任何多余的内容。

    思路: 这种题暴力枚举就可以了。怎么方便枚举就怎么写代码。理解清楚,吃掉n个并把自己的一份藏起来,也就是说x%5==n,并且吃掉的是x/5个。剩余x-n-x/5个。代码写完后再正向验算一下,确认满足题目条件,并且所得答案为最少的即可。

    3、标题:字母阵列

    仔细寻找,会发现:在下面的8x8的方阵中,隐藏着字母序列:“LANQIAO”。
    SLANQIAO
    ZOEXCCGB
    MOAYWKHI
    BCCIPLJQ
    SLANQIAO
    RSFWFNYA
    XIFZVWAL
    COAIQNAL

    我们约定: 序列可以水平,垂直,或者是斜向;
    并且走向不限(实际上就是有一共8种方向)。
    上图中一共有4个满足要求的串。

    下面有一个更大的(100x100)的字母方阵。
    你能算出其中隐藏了多少个“LANQIAO”吗?

    思路: 字符串处理,比较简单,只要把情况想清楚就可以了。对给定100*100的字母方阵遍历,**遇到L时,往8个方向搜索:从左到右,从右到左,从上到下,从下到上,从左上到右下,从左下到右上,从右上到左下,从右下到左上。**如果对数组越界不好判断,就用try catch解决,把异常的都抛出。

    4、标题:第几个幸运数

    到x星球旅行的游客都被发给一个整数,作为游客编号。
    x星的国王有个怪癖,他只喜欢数字3,5和7。
    国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品。

    我们来看前10个幸运数字是:
    3 5 7 9 15 21 25 27 35 45
    因而第11个幸运数字是:49

    小明领到了一个幸运数字 59084709587505,他去领奖的时候,人家要求他准确地说出这是第几个幸运数字,否则领不到奖品。

    请你帮小明计算一下,59084709587505是第几个幸运数字。

    需要提交的是一个整数,请不要填写任何多余内容。

    思路: 此题正向按顺序遍历是找不到答案的,因为题目给定数字太大。因此要反过来考虑:所谓幸运数,就是因子只含有3,5,7。因此,若x为幸运数,x等于3的a次方乘5的b次方乘7的c次方。那么三重循环,就可以找出来所有比题目给定数字小的幸运数。也就找到答案了。

    5、标题:书号验证

    2004年起,国际ISBN中心出版了《13位国际标准书号指南》。
    原有10位书号前加978作为商品分类标识;校验规则也改变。
    校验位的加权算法与10位ISBN的算法不同,具体算法是:
    用1分别乘ISBN的前12位中的奇数位(从左边开始数起),用3乘以偶数位,乘积之和以10为模,10与模值的差值再对10取模(即取个位的数字)即可得到校验位的值,其值范围应该为0~9。

    下面的程序实现了该算法,请仔细阅读源码,填写缺失的部分。

    public class A
    {
    	static boolean f(String s){
    		int k=1;
    		int sum = 0;
    		for(int i=0; i<s.length(); i++){
    			char c = s.charAt(i);
    			if(c=='-' || c==' ') continue;
    			sum += ______________________________;  //填空
    			k++;
    			if(k>12) break; 
    		}
    		
    		return s.charAt(s.length()-1)-'0' == (10-sum % 10)%10;
    	}
    	
    	public static void main(String[] args){
    		System.out.println(f("978-7-301-04815-3"));
    		System.out.println(f("978-7-115-38821-6"));
    	}
    }
    

    注意:只提交空缺的代码,不要抄写已经存在的代码。

    思路: 对于代码填空题,最好的方法是不要死看代码,试着用debug跟踪代码,根据调试结果判断每个函数、每个语句具体在做什么。很多题目让填的语句都是类似递归那种语句,主要注意函数参数的变化过程。**要注意:填的只能是1条语句,也就是在一个分号内能解决的问题!**但如果for循环,循环体只有1句话且不加括号,也算一条语句的。

    6、标题:打印大X

    如下的程序目的是在控制台打印输出大X。
    可以控制两个参数:图形的高度,以及笔宽。

    用程序中的测试数据输出效果:
    (如果显示有问题,可以参看p1.png)

    高度=15, 笔宽=3
    ***           ***
     ***         ***
      ***       ***
       ***     ***
        ***   ***
         *** ***
          *****
           ***
          *****
         *** ***
        ***   ***
       ***     ***
      ***       ***
     ***         ***
    ***           ***
    
    高度=8, 笔宽=5
    *****  *****
     **********
      ********
       ******
       ******
      ********
     **********
    *****  *****
    

    请仔细分析程序流程,填写缺失的代码。

    public class A
    {
    	static void f(int h, int w){
    		System.out.println(String.format("高度=%d, 笔宽=%d",h,w));
    		int a1 = 0;
    		int a2 = h - 1;
    		
    		for(int k=0; k<h; k++){
    			int p = Math.min(a1,a2);
    			int q = Math.max(a1+w,a2+w);
    			
    			for(int i=0; i<p; i++) System.out.print(" ");
    			
    			if(q-p<w*2){
    				____________________________________________ ; //填空
    			}
    			else{
    				for(int i=0; i<w; i++) System.out.print("*");
    				for(int i=0; i<q-p-w*2; i++) System.out.print(" ");
    				for(int i=0; i<w; i++) System.out.print("*");
    			}
    			System.out.println();
    			a1++;
    			a2--;
    		}
    	}
    	
    	public static void main(String[] args){
    		f(15,3);
    		f(8,5);
    	}
    }
    

    注意:只填写缺失的代码,不要拷贝已经存在的代码。

    思路: 思路跟上题相似,再次强调,要用debug调试,而不要一直盯着题目给的代码看!

    7、标题:缩位求和

    在电子计算机普及以前,人们经常用一个粗略的方法来验算四则运算是否正确。
    比如:248 * 15 = 3720
    把乘数和被乘数分别逐位求和,如果是多位数再逐位求和,直到是1位数,得
    2 + 4 + 8 = 14 ==> 1 + 4 = 5;
    1 + 5 = 6
    5 * 6
    而结果逐位求和为 3
    5 * 6 的结果逐位求和与3符合,说明正确的可能性很大!!(不能排除错误)

    请你写一个计算机程序,对给定的字符串逐位求和:
    输入为一个由数字组成的串,表示n位数(n<1000);
    输出为一位数,表示反复逐位求和的结果。

    例如:
    输入:
    35379

    程序应该输出:
    9

    再例如:
    输入:
    7583676109608471656473500295825

    程序应该输出:
    1

    资源约定:
    峰值内存消耗(含虚拟机) < 256M
    CPU消耗 < 1000ms

    请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

    所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
    不要使用package语句。不要使用jdk1.7及以上版本的特性。
    主类的名字必须是:Main,否则按无效代码处理。

    思路: 这个题也很直接了。需要注意一点的是:java中StringBuffer的处理速度较慢,建议尽量用String处理。

    8、标题:等腰三角形

    本题目要求你在控制台输出一个由数字组成的等腰三角形。
    具体的步骤是:

    1. 先用1,2,3,…的自然数拼一个足够长的串

    2. 用这个串填充三角形的三条边。从上方顶点开始,逆时针填充。
      比如,当三角形高度是8时:

      1
      2 1
      3 8
      4 1
      5 7
      6 1
      7 6
      891011121314151

    显示不正确时,参看:p1.png

    输入,一个正整数n(3<n<300),表示三角形的高度
    输出,用数字填充的等腰三角形。

    为了便于测评,我们要求空格一律用"."代替。

    例如:
    输入:
    5

    程序应该输出:
    …1
    …2.1
    …3…2
    .4…1
    567891011

    再例如:
    输入:
    10

    程序应该输出:
    …1
    …2.2
    …3…2
    …4…2
    …5…1
    …6…2
    …7…0
    …8…2
    .9…9
    1011121314151617181

    再例如:
    输入:
    15

    程序应该输出:

    …1
    …2.3
    …3…2
    …4…3
    …5…1
    …6…3
    …7…0
    …8…3
    …9…9
    …1…2
    …0…8
    …1…2
    …1…7
    .1…2
    21314151617181920212223242526

    资源约定:
    峰值内存消耗(含虚拟机) < 256M
    CPU消耗 < 1000ms

    请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

    所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
    不要使用package语句。不要使用jdk1.7及以上版本的特性。
    主类的名字必须是:Main,否则按无效代码处理。

    思路: 蓝桥杯大题最常见的三个类型:枚举,搜索,模拟。很明显这个题属于模拟题。先找出来给定高度情况下最多打印到哪个数字。再找出来三角形的底边起始数字和终止数字。再将其他行按给定格式打印即可。

    9、标题:小朋友崇拜圈

    班里N个小朋友,每个人都有自己最崇拜的一个小朋友(也可以是自己)。
    在一个游戏中,需要小朋友坐一个圈,
    每个小朋友都有自己最崇拜的小朋友在他的右手边。
    求满足条件的圈最大多少人?

    小朋友编号为1,2,3,…N
    输入第一行,一个整数N(3<N<100000)
    接下来一行N个整数,由空格分开。

    要求输出一个整数,表示满足条件的最大圈的人数。

    例如:
    输入:
    9
    3 4 2 5 3 8 4 6 9

    则程序应该输出:
    4

    解释:
    如图p1.png所示,崇拜关系用箭头表示,红色表示不在圈中。
    显然,最大圈是[2 4 5 3] 构成的圈

    再例如:
    输入:
    30
    22 28 16 6 27 21 30 1 29 10 9 14 24 11 7 2 8 5 26 4 12 3 25 18 20 19 23 17 13 15

    程序应该输出:
    16

    资源约定:
    峰值内存消耗(含虚拟机) < 256M
    CPU消耗 < 1000ms

    请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

    所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
    不要使用package语句。不要使用jdk1.7及以上版本的特性。
    主类的名字必须是:Main,否则按无效代码处理。

    思路: 依次从每个点开始构建一个圈,找到最大的圈。
    代码:

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    public class Main {
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int N = sc.nextInt();
    		int[] a = new int[N+1];
    		
    		for(int i=1; i<=N; i++) {
    			a[i] = sc.nextInt();
    		}
    		
    		int MAX = -1;
    		for(int i=1; i<=N; i++) {
    			List<Integer> list = new ArrayList<Integer>();
    			int tmp = a[i];
    			list.add(tmp);
    			int num = 1;
    			tmp = a[tmp];
    			
    			while(!list.contains(tmp)) {
    				list.add(tmp);
    				num++;
    				tmp = a[tmp];
    			}
    			
    			if(num>MAX) {
    				MAX = num;
    			}
    		}
    		
    		System.out.println(MAX);
    		
    		sc.close();
    		
    	}
    
    }
    

    10、标题:耐摔指数

    x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。
    各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。

    x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。

    如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手机耐摔指数=7。
    特别地,如果手机从第1层扔下去就坏了,则耐摔指数=0。
    如果到了塔的最高层第n层扔没摔坏,则耐摔指数=n

    为了减少测试次数,从每个厂家抽样3部手机参加测试。

    如果已知了测试塔的高度,并且采用最佳策略,在最坏的运气下最多需要测试多少次才能确定手机的耐摔指数呢?

    输入数据,一个整数n(3<n<10000),表示测试塔的高度。
    输出一个整数,表示最多测试多少次。

    例如:
    输入:
    3

    程序应该输出:
    2

    解释:
    手机a从2楼扔下去,坏了,就把b手机从1楼扔;否则a手机继续3层扔下

    再例如:
    输入:
    7

    程序应该输出:
    3

    解释:
    a手机从4层扔,坏了,则下面有3层,b,c 两部手机2次足可以测出指数;
    若是没坏,手机充足,上面5,6,7 三层2次也容易测出。

    资源约定:
    峰值内存消耗(含虚拟机) < 256M
    CPU消耗 < 1000ms

    请严格按要求输出,不要画蛇添足地打印类似:“请您输入…” 的多余内容。

    所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
    不要使用package语句。不要使用jdk1.7及以上版本的特性。
    主类的名字必须是:Main,否则按无效代码处理。


    笨笨有话说:
    我觉得3个手机太难了,要是2个手机还可以考虑一下。

    歪歪有话说:
    想什么呢,你!要是1部手机还用你编程啊?那样的话只好从下往上一层一层测。

    思路: 这是一个很经典的动态规划题目。类似POJ:3783。扔鸡蛋,扔球模型。此题二分是不可行的。因为手机个数是有限制的。
    代码: POJ3783的代码:https://blog.csdn.net/zhanggirlzhangboy/article/details/88070893

    展开全文
  • 编写一个程序,提示用户输入学生数量、各自的姓名和他们的成绩,并按照成 绩的降序来打印学生的姓名。import java.util.*; class StudentInfo{ private String name; private int score; public String getName()...
    编写一个程序,提示用户输入学生数量、各自的姓名和他们的成绩,并按照成
    绩的降序来打印学生的姓名。
    import java.util.*;
    class StudentInfo{
    	private String name;
    	private int score;
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public int getScore() {
    		return score;
    	}
    	public void setScore(int score) {
    		this.score = score;
    	}
    	public void sort(StudentInfo[] stu,int count)
    	{
    		StudentInfo temp;
    		for(int i=0;i<count;i++)
    		{
    			for(int j=0;j<count-i-1;j++)
    			{
    				if (stu[j].getScore()<stu[j+1].getScore()) 
    				{
                       temp=stu[j];
                       stu[j]=stu[j+1];
                       stu[j+1]=temp;
                    }
    			}
    		}
    	}
    	public void print(StudentInfo[] stu,int count){
    		for (int i=0; i<count;i++) {
    			System.out.println(stu[i].getName()+" "+stu[i].getScore());
            }
    	}
    }
    public class ScoreSort {
    	public static void main(String[] args){
    		StudentInfo s=new StudentInfo();
    		StudentInfo[] stu= new StudentInfo[20];
            Scanner input= new Scanner(System.in);
            System.out.println("请输入学生个数:");
            int count=input.nextInt();
            int num=0;
            while(num<count) {
            	System.out.println("请输入第"+(num+1)+"个学生的姓名和分数:");
                Scanner scan=new Scanner(System.in);
                String strLine=scan.nextLine();
                String[] strLineArr = strLine.split(" ");
                StudentInfo st = new StudentInfo();
                st.setName(strLineArr[0]);
                st.setScore(Integer.parseInt(strLineArr[1]));
                stu[num]=st;
                num++;
            }
    		s.sort(stu,count);
    		System.out.println("排序后的学生信息为:");
    		s.print(stu,count);
    	}
    }
    展开全文
  • java实现从键盘上输入学生成绩,求总分、平均分、最高分、最低分,并升序排列、降序排列 用数组存储成绩 1、录入,求总分、平均分 2、求最高分、最低分 —打擂台,胜了,站擂台 3、排序(升序、降序) —...
  • 注意:标的名单文件要写在与包名同一级别的目录下,记载src上右击,点新建文件file,把名单复制到此文件中,程序就可以依据一些策略访问这个名单的内容 ArrayList是List(列表...import java.util.ArrayList; impo
  • 编辑一个JAVA程序,定义一个学生的类Student。这个类的属性(成员变量):“学号”,“号”,“姓名”,“性别”,“年龄”;函数(成员方法):“获得学号”,“获得号”,“获得性别”,“获得姓名”,“获得...
  • 第九届蓝桥杯省赛JAVA语言 C题解(全) 第九届蓝桥杯省赛JAVA语言 C题解(全) 题1 哪天返回 题2 猴子分香蕉 题3 字母阵列 题4 第几个幸运数 题5 书号验证 题6 打印大X 题7 缩位求和 题8 等腰三角形 题9 小朋友...
  • 1004 成绩排名 (20 分) Java 读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式: ...
  • 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 37 38 39 40 41 42 43 44 45 46 47 48 packagecom.ww.yzpA; publicc...
  • 有读者给我留言:大四的学生如何求一份Java的工作?并且还特别强调了他非科班和文凭不出众的事实背景。我想这个问题具有代表性,所以写一些个人的建议,希望能帮到一些人。 定位 要想求得一份工作,首先需要自己...
  • package kh88_chapter06;... //计算5个学生java考试平均分 double sum =0; double avg= 0; Scanner input = new Scanner(System.in); //创建一个能存放5个考试成绩分数的数组 double []javaScores= new dou
  • 1 package class_average;... 3 import java.util.Scanner;//调用Scanner类 4 5 public class average { 6 7 public static void main(String[] args) { 8 System.out.println("请依次输入班级...
  • 算法分组问题,一个n个人进行分组,每最多k个人,有两个要求,之间人数最多相差1,队伍数要尽可能少。例子:当n=39,k=5时有470624547891733205872277376种组队方法。 我的算法是:![图片说明]...
  • Java将一数随机分组

    2012-10-26 10:11:28
    试题:一个40个学生,请把学生随机分成8 既然是随机分组,必然用到随机数,其分组思路是: 用一个链表存储这数,随机获取A中的元素下标,然后打印这个数,并从A中移除,直到A中全部为空 import java.util....
  • 已经三月份了,又快要到找实习的时间了,现在就把自己每天复习的Java基础知识记录下来,分享给有需要的人,同时还可以加深自己知识的掌握! 看第一道问题:Java支持的数据类型有哪些?什么又是自动拆装箱? Java...
  • 简单的学生成绩计算评级排序(java实现)写在前面问题说明需求分析问题分解程序模块数据输入模块数值转换模块合法判断模块错误提示模块成绩计算模块选择排序模块成绩评级模块程序输出模块数据结构主要算法程序流程图...
  • 获取项目源文件,技术交流与指导联系Q:1225467431 摘 要 随着信息技术的发展,信息化逐渐扩展到了校园管理、行政...论文在研究基于优先级回溯的排课算法的基础之上,使用UML建模语言进行业务建模与设计,基于Java...
  • 获取项目源文件,学习交流联系Q:...系统涉及到高校六大类用户:学生、任课老师、主任、院系领导、学校领导、系统管理员。 本高校学生考勤管理系统用JSP+SQL Server 2000开发,开发过程中运用了页面模块化...
1 2 3 4 5 ... 20
收藏数 7,007
精华内容 2,802
关键字:

java 对学生进行组班