java学习之实验四
来源:互联网 发布:淘宝账号自助开通 编辑:程序博客网 时间:2024/05/16 11:13
(1)有一列乱序的字符,‘a’、‘d’、‘m’、‘z’、‘h’、‘c’、‘o’,排序并按照英文字母表的逆序输出。
解:按照字母表排序也就是按照ASCLL码值进行排序,只需要定义一个String型数组应用Arrays.sort函数进行排序,然后进行输出就可以了。
package test4;import java.util.Arrays;public class test4_a {public static void main(String[] args) {// TODO Auto-generated method stubString[] sores={"a","d","m","z","h","c","o"};int i,j;j=sores.length;Arrays.sort(sores);for(i=j-1;i>=0;i--)System.out.print(sores[i]+" ");}}
(2)编写一个程序,提示用户输入学生数量、各自的姓名和他们的成绩,并按照成绩的降序来打印学生的姓名。
解:定义学生类用以介绍所有有关学生的信息包括姓名、成绩。并且在类中定义方法用以接受以及返回变量姓名和成绩。排序方法可在类中定义也可在类外定义。在main函数中进行输入以及根据成绩排序输出即可。
package test4;import java.util.Scanner;class Student{private String name;private double score;public void setName(String name){this.name=name;}public String getName(){return this.name;}public void setScore(double score){this.score=score;}public double getScore(){return score;}}public class test4_b {public static void main(String[] args) {// TODO Auto-generated method stubStudent []stuArr;int num;Scanner reader=new Scanner(System.in);num=reader.nextInt();stuArr=new Student[num];for(int i=0;i<num;i++){stuArr[i]=new Student();stuArr[i].setName(reader.next());stuArr[i].setScore(reader.nextDouble());}for(int i=0;i<num;i++){for(int j=i+1;j<num;j++){if(stuArr[i].getScore()>stuArr[j].getScore()){Student temp=new Student();temp=stuArr[i];stuArr[i]=stuArr[j];stuArr[j]=temp;}}}for(int i=0;i<num;i++){System.out.println(stuArr[i].getName()+"\t"+stuArr[i].getScore());}}}
(3)现有如下的一个数组:int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}
要求将数组中值为0的项去掉,将不为0的值存入一个新的数组。
解:定义一个新的数组大小可以取原数组的大小,遍历一遍数组判断非0元素存入新的数组中,并设立一个计数器用以记录非0元素的数量,便于待会输出使用。(也可以使用add函数进行操作,此处就不给出代码了)
package test4;public class test4_c {public static void main(String[] args){int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};int i,len;len=oldArr.length;int j=0;int []a = new int[len]; for(i=0;i<len;i++){if(oldArr[i]!=0){a[j]=oldArr[i];j=j+1;}}for(i=0;i<j;i++)System.out.print(a[i]+" ");}}
(4)定义一个长度为n的整型数组,初始值为1~200之间的随机整数。要求:对数组的元素值进行排序,打印排序后的数组。在数组中查找整数55,并输出相应的提示信息。
解:定义数组用来存储随机整数,因为Math.random是产生0到1随机浮点数,所以要用强制类型转换,要产生1~200之间数所以要乘以200并加1.然后利用Arrays.binarySearch进行查找,输出结果即可。
package test4;import java.util.Arrays;import java.util.Scanner;public class test4_d {public static void main(String[] args) {int n;int i;Scanner in = new Scanner(System.in);System.out.println("请输入数组的长度:"); n = in.nextInt();int []sores=new int[n];for(i=0;i<n;i++){sores[i]=(int) (Math.random()*200+1);}Arrays.sort(sores);for(i=0;i<n;i++)System.out.print(sores[i]+" ");System.out.println();int s;s=Arrays.binarySearch(sores,55);if(s<0 || s>n)System.out.println("55不在数组中");elseSystem.out.println("元素55在数组中的位置是:"+s);}}
0 0
- java学习之实验四
- java学习之实验二
- java学习之实验三
- 几个实验之四
- 实验四ExceptionExample.java
- java实验四
- Java Thread学习之四
- JAVA学习笔记之四
- java 学习之四 ArrayList
- 数据结构实验之栈四:括号匹配(java实现)
- java学习之JVM之四
- 操作系统实验四之进程同步实验
- 实验四 之 5阶幻方实验
- 实验四之链栈
- java nio 系列学习之四
- 蜗牛—Java基础之学习(四)
- Java-菜鸟学习之路(四)
- java之学习多线程(四)
- git binary diffs are not supported 问题
- Cassandra学习总结
- JQuery
- 杭电acm1008
- 深入剖析ThreadLocal
- java学习之实验四
- Postfix 邮件系统常用测试与管理命令
- gradle学习笔记(四) Groovy高级用法
- 使用 Git Hook 实现网站的自动部署
- swift url 解码(不是最新,swift变得太快了)
- 不变量解题
- HDFS源码分析之数据块及副本状态BlockUCState、ReplicaState
- 线程安全(一):多线程竞态条件导致的线程不安全
- Android Studio常用快捷键、Android Studio快捷键大全