Java课堂实验

java实验课课堂记录

1.有一列乱序的字符,a d m z h c o,排序并按照英文字母表的逆序输出。
在这里插入图片描述
2.现有如下的一个数组:int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5},要求数组中值为0的项去掉,将不为0的值存入一个新的数组。
代码:
import java.util.Arrays;
public class Copy {
public static void main(String[] args) {
int j=0;
int[] oldArr=new int[]{1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
int[] newArr=new int[12];
for(int i=0;i<16;i++){
if(oldArr[i]!=0){
newArr[j]=oldArr[i];
System.out.print(newArr[j]+"\t");
j++;
}
}

3.定义一个长度为n的整形数组,初始值为1~200之间的随机数组。要求:对数组的元素值进行排序,打印排序后的数组。在数组中查找整数55,并输出相应的提示信息。
代码:
import java.util.Arrays;
public class randomSort {
public int binarySearch(int[] Arr,int from,int to,int key){
if(from<to){
int middle=(from>>>1)+(to>>>1);
int temp=Arr[middle];
if(temp>key)
to=middle-1;
else if(temp<key)
from=middle+1;
else if(temp==middle)
return middle;
else return 0;
}
}

public static void main(String[] args) {
int[] Arr=new int[100];
for(int i=0;i<100;i++)
Arr[i]=(int)(Math.random()*((200-1)+1));
Arrays.sort(Arr);
System.out.print(“随机生成的整型数组经过排序之后的数据为”);
for(int i=0;i<100;i++)
System.out.print(Arr[i]+" “);
int x =binarySearch(Arr,0,99,55);
if(x==0)
System.out.println(“这个数不存在!!!”);
else
System.out.println(位置是index+”");
}
}
4.编写一个程序,提示用户输入学生数量、各自的姓名,和他们的成绩,并按照成绩的降序来打印学生的姓名。
代码:(网上找的代码,未曾试验过正确与否)
import java.util.Scanner;
public class Students {
private String name;
private long grade;
public long getGrade() {
return grade;
}
public void setGrade(long grade) {
this.grade = grade;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String toString(){
return this.name;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(“请输入学生数”);
int stuNumT = sc.nextInt();
Students objArr[] = new Students[stuNumT];
for(int i = 0; i < objArr.length; i++){
objArr[i] = new Students();
System.out.println(“请输入第”+ (i+1) + “个学生的姓名”);
String name = sc.next();
objArr[i].setName(name);
System.out.println(“请输入第” + (i+1) + “个学生的成绩”);
long grade = sc.nextLong();
objArr[i].setGrade(grade);
}
System.out.println(“打印开始:”);
for(int i = 0; i < objArr.length; i++){
for(int j = i+1; j < objArr.length; j++){
if(objArr[i].getGrade() < objArr[j].getGrade()){
Students s = new Students();
s = objArr[i];
objArr[i] = objArr[j];
objArr[j] = s;
}
}
}
for(int i=0; i < objArr.length; i++){
System.out.println(objArr[i].getName()+“的成绩是:”+objArr[i].getGrade());
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值