Java程序设计:实验一 Java语言基础

这里只给出部分实验一
另外这里有Socket网络编程实验扩展部分
还有所有实验的实验报告,实验星号题和必做题以及扩展部分全部做完,可放心食用

Socket网络程序设计:模拟QQ聊天室
hebut-Java程序设计实验报告

实验目的

掌握 Java语言的基本语法、基本数据类型的使用方法,掌握从键盘输入基本类型的数据,熟练运用分支、循环等语句控制程序流程。

实验内容

1

编写一个Java应用程序,用户从键盘输入十名学生的信息,至少包括姓名、年龄、出生年月日、java课程实验成绩,成绩使用浮点数,年龄使用整型,程序将输出年龄、java课程实验成绩的平均值。
提示:Scanner对象调用nextDouble()或nextFloat()可以获取用户从键盘输入的浮点数。

设计一个Data类来存放学生信息:

package Test01.test1;
public class Data {
    String name;
    int age;
    int year,month,day;
    double score;

    public Data(String name, int age, int year, int month, int day, double score) {
        this.name = name;
        this.age = age;
        this.year = year;
        this.month = month;
        this.day = day;
        this.score = score;
    }

    public int getAge() {
        return age;
    }

    public double getScore() {
        return score;
    }
}

设计一个应用主类,里面包括录入和输出

package Test01.test1;
import java.util.Scanner;
public class App {
    public static void main(String[] args) {

        //输入设计
        Scanner s=new Scanner(System.in);
        Data[] stu=new Data[10];
        int age1=0;
        double score1=0;
        System.out.println("请输入学生的姓名、年龄、出生年月日、和Java成绩");
        for (int i = 0; i < 10; i++) {

            String name=s.next();//这里使用next(),吸收空格之前的字符,nextLine()是以回车为标识符的
            int age=s.nextInt();
            int year=s.nextInt();
            int month=s.nextInt();
            int day=s.nextInt();
            double score=s.nextDouble();
            age1+=age;
            score1+=score;

            stu[i]=new Data(name,age,year,month,day,score);
        }

        System.out.println("10名学生年龄平均值为:"+age1/10);
        System.out.println("10名学生Java成绩平均值为:"+score1/10);

        s.close();

        //本程序为了简便,没有对录入的学生信息进行读出和打印
    }
}

运行结果
在这里插入图片描述

2

使用Arrays类实现数组排序:使用java.util包中的Arrays类的类方法public static void sort(double a[])可以把参数a指定的double类型数组按升序排序;public static void sort(double a[], int start , int end)可以把参数a指定的double类型数组中从位置start到end位置的值按升序排序。
给定数组int a[]={12,34,9,-23,45,6,90,123,19,45,34}; 从键盘读入一个整数,使用折半查找判断该整数是否在这个数组中,并将结果输出。

程序代码



/*
题目:
使用Arrays类实现数组排序:使用java.util包中的Arrays类的类方法public static void sort(double a[])可以把参数a指定的double类型数组按升序排序;
public static void sort(double a[], int start , int end)可以把参数a指定的double类型数组中从位置start到end位置的值按升序排序。
给定数组int a[]={12,34,9,-23,45,6,90,123,19,45,34}; 从键盘读入一个整数,使用折半查找判断该整数是否在这个数组中,并将结果输出。
 */
package Test01.test2;
import java.util.Arrays;
import java.util.Scanner;
public class demo02  {
    public static void main(String[] args) {

        int a[]={12,34,9,-23,45,6,90,123,19,45,34};
        int key;

        Arrays.sort(a);//默认升序排列

        Scanner scanner= new Scanner(System.in);

        System.out.println("请输入需要查找的整数:");
        key=scanner.nextInt();

        int flag=search(a,key);
        if(flag!=-1)
            System.out.println(key+"在这个数组中");
        else
            System.out.println(key+"不在这个数组中");

        scanner.close();

    }

    //折半查找方法
    public static int search(int[] arr,int key){
        int low=0,high=arr.length-1;
        int mid;
        while (low<high){
            mid=(low+high)/2;
            if(arr[mid]==key)
                return mid+1;//返回所在位置
            else if(arr[mid]<key)
                low=mid+1;
            else if(arr[mid]>key)
                high=mid-1;
        }
        return -1;
    }
}

实验结果
在数据中
在这里插入图片描述
不在数组中
在这里插入图片描述

实验太多了,有需要的兄弟们看文章开始的连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

出云coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值