当前位置: 首页 > article >正文

数据结构(JAVA版)练习题

(题目难易程度与题号顺序无关哦)

目录

1、多关键字排序

2、集合类的综合应用问题

3、数组排序

4、球的相关计算问题

5、利用类对象计算日期

6、日期计算问题

7、星期日期的计算

8、计算坐标平面上两点距离

9、异常处理设计问题

10、Java源文件和字节码文件名称的判断问题

11、函数表达式的计算

12、成绩的学分绩点计算


1、多关键字排序

     学生考试成绩的统计利用计算机软件将变得十份简单的事,由于你很勤奋,并且刚学习了面向对象程序设计Java,在Java中提供了面向对象程序设计方法,并提供了大量有用的工具类,解决该问题你将成为能手,我们知道只要利用容器 Collections.sort()方法,很方便解决对象的排序问题,如果一个年级的学生参加了有语文、数学和英语三科目的考试,需要计算出每个学生的总分和平均成绩,并且要按照总分排序,如果总分相同,则依照语文、数学再英语的成绩排序,即排序关键词依次为总分、语文、数学、英语。请你设计一个程序解决该问题。
    提示:利用输入数据的每行创建一个Student对象,将所有学生对象存储到一个List<Student> stulist = new ArrayList<Student>();线性表中,再利用Collections.sort(stulist,new MyComptor());就解决排序问题,然后将stulist中的每个学生输出,就完成该排序问题了,但为了能排序,Collections必须知道对象排序规则,要定义一个规则,是通过设计一个比较器完成,比较器的主体如下:

    class MyComptor implements Comparator<Object> {  
    
       public int compare(Object o1, Object o2) {
        Student stu1 =(Student)o1;
        Student stu2 =(Student)o2;
        if(...){//填写比较规则
            return 1;
        }else{
            return 0;
        }
     }

   }

   下面是一个点对象排序的参考实例:
        Point point2 = new Point(2,2,2);
        Point point1 = new Point(1,1,1);
        Point point3 = new Point(3,1,2);
       
        List<Point> points = new ArrayList<Point>();
        points.add(point2);
        points.add(point1);
        points.add(point3);       
      
        //根据point中的升序输出
        Collections.sort(points, new SortByXdesc());
   SortByXdesc对象的定义如下:
   public class SortByXdesc implements Comparator<Object> {

    //根据point中的x降序输出
    @Override
    public int compare(Object o1, Object o2) {
        Point point1 =(Point)o1;
        Point point2 =(Point)o2;
        if(point1.getX()>point2.getX()){
            return 1;
        }else{
            return 0;
        }
    }

}


标准输入:
   第一行为一个正整数N,表示该年纪共有的学生数,接下来的N行,每行为一个学生的信息,依次为学号、班级、语文成绩、数学成绩和英语成绩,其中学号为10个字符的字符串,班级和成绩为正整数,他们之间由一个空格隔开。
标准输出:
   输出该年级学生的成绩单,即根据总分和语文、数学、英语成绩为次关键词的排序后的成绩单,每行输出一个学生的成绩,使用一个空格隔开,依次输出如下数据:
学号 班级 语文 数学 英语 总分 平均
其中平均成绩四舍五入保留2位小数。

测试用例输入:
4
0806401001    1     56    64    77
0806401002    1     75    68    54
0806401003    1     68    79    76
0806401004    1     56    57    84
测试用例输出:
0806401003 1 68 79 76 223 74.33
0806401002 1 75 68 54 197 65.67
0806401001 1 56 64 77 197 65.67
0806401004 1 56 57 84 197 65.67

本题代码答案:

import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;class AppForScoreSort {public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();Student[] stu=new Student[n+1];for(int i=1;i<=n;i++){String id=sc.next();int cs=sc.nextInt();int x1=sc.nextInt();int x2=sc.nextInt();int x3=sc.nextInt();int total=x1+x2+x3;double average=(double)total/3;//实例化学生对象stu[i]=new Student(id,cs,x1,x2,x3,total,average);}Comparator<Student> cmp=new MyComparator();Arrays.sort(stu,1,1+n,cmp);for(int i=1;i<=n;i++){System.out.println(stu[i].toString());}}
}class Student{//学号String id;//cs为所在班级int cs;//x1,x2,x3分别对应了语,数,英int x1,x2,x3;//总分int total;//平均分double average;//创建有参构造器public Student(String id, int cs, int x1, int x2, int x3, int total, double average) {this.id = id;this.cs = cs;this.x1 = x1;this.x2 = x2;this.x3 = x3;this.total = total;this.average = average;}//每个学生的输出语句@Overridepublic String toString() {return id+" "+cs+" "+x1+" "+x2+" "+x3+" "+total+" "+String.format("%.2f",average);}
}//自定义比较方法
class MyComparator implements Comparator<Student>{@Overridepublic int compare(Student a, Student b) {if(b.total>a.total)return 1;else if(b.total<a.total)return -1;else if(b.x1>a.x1)return 1;else if(b.x1<a.x1)return -1;else if(b.x2>a.x2)return 1;else if(b.x2<a.x2)return -1;else if(b.x3>a.x3)return 1;else if(b.x3<a.x3)return -1;return 0;}
}

2、集合类的综合应用问题

问题描述:
      在实际项目开发中需要存储各种类型的对象数据,一般使用数组存储存在存储个数不确定问题,通常使用集合类型来存储。给你的问题是,在学生信息系统中一个院系有班级信息和学生信息,一个班级有多个学生,每个学生属于一个班,在信息查询中往往需要进行某学生在那个班,该同学有那些同班同学等相关查询,如果使用集合合理存储了班级和学生对象,进行相关查询将变得容易。

      本问题使用标准输入班级信息和学生信息,然后查出给定某同学的班级,以及该班同学人数和学号最前、最后的学生学号。
输入:
        标准输入,输入的第一行为两个正整数N、M,N表示接下来的N行为班级信息,每行由班级编号、班级名称、入学年级,数据之间为一个逗号","分格;班级信息后M行为学生信息,学生信息的每行依次为学号、所在班级编号、姓名、性别、入学年构成,数据之间为一个逗号","分格。学生数据之后的所有行为学生学号数据,需要你完成查找的学生,每个学生查找信息使用一行输出。
输出:
       标准输出,根据需要你查找的学生的学号使用一行输出该学生所在的班级编号和该班学生个数,并输出该班学号排序的第一个和最后一个学生的学号,中间使用一个空格隔开。如果该班只有一个学生,输出第一个学生学号,如果该该学号没有学生,输出”NO Student“。
输入样列:
5 11
2006405,5,2020
2006408,8,2020
2106402,2,2021
2106405,5,2021
2106406,6,2021
2000130841,2006408,杨凯,男,2020
2000130842,2006408,杨石磊,男,2020
2000130849,2006408,刘坤艳,男,2020
2000130501,2006405,文吉鑫,男,2020
2000130502,2006405,方大卫,男,2020
2000130503,2006405,伍一帆,男,2020
2000130504,2006405,赵天祺,男,2020
2000130505,2006405,易佳豪,男,2020
2000130506,2006405,欧阳哲浩,男,2020
2000130510,2006405,陈吉涛,男,2020
2000130511,2006405,曹毅凡,男,2020
2000130506
2000130508
2000130842

输出样列:
2006405 8 2000130501 2000130511
NO Student
2006408 3 2000130841 2000130849

本题代码答案:

import java.util.*;public class AppForset {public static void main(String[] args) {Scanner in=new Scanner(System.in);Map<String,Classes> claMap=new HashMap<String,Classes>();Map<String,Student>stuMap=new HashMap<String,Student>();int N,M;N=in.nextInt();M=in.nextInt();in.nextLine();for (int i=0;i<N;i++){String claline=in.nextLine();String[] datas=claline.split(",");Classes cla=new Classes(datas[0],datas[1],Integer.parseInt(datas[2]));claMap.put(datas[0],cla);}for(int i=0;i<M;i++){String stuline=in.nextLine();String[] datas=stuline.split(",");Classes cla=claMap.get(datas[1]);Student stu=new Student(datas[0],datas[2],datas[3],Integer.parseInt(datas[4]),cla);cla.stuSet.add(stu);stuMap.put(stu.stuid,stu);}while (in.hasNextLine()){String stuid=in.nextLine();Student stu=stuMap.get(stuid);if(stu==null)System.out.println("NO Student");else{Classes cla=stu.classes;Student[] stus=(Student[]) cla.stuSet.toArray(new Student[cla.stuSet.size()]);if(stus.length==1){System.out.println(cla.classId+" "+stus.length+" "+stu.stuid);}else{Arrays.sort(stus);System.out.println(cla.classId+" "+stus.length+" "+stus[0].stuid+" "+stus[stus.length-1].stuid);}}}}
}
class Classes{String classId;String classname;int grade;Set<Student> stuSet=null;public  Classes(String classId,String Classname,int grade){this.classId=classId;this.classname=classname;this.grade=grade;stuSet=new HashSet<Student>();}
}
class Student implements Comparable{String stuid;String name;String sex;int grade;Classes classes;public  Student(String stuid,String name,String sex,int grade,Classes classes){this.stuid=stuid;this.name=name;this.sex=sex;this.grade=grade;this.classes=classes;}@Overridepublic int compareTo(Object o) {Student stu=(Student)o;return this.stuid.compareTo(stu.stuid);}
}

3、数组排序

描述
    给定一组n个正整数,根据各位数字之和从小到大进行排序。
输入
    输入数据有多组,每组数据占一行,每行的第一个数正整数n,表示整数个数,后面接n个正整数。当n为0时,不作任何处理,输入结束。
输出
    输出每组要求下原始数据排序的结果。
样例输入
2 1 2
3 121 10 111
0
样例输出
1 2
10 111 121

本题代码答案:

import java.util.Scanner;
public class ArraySort {public static void main(String[] args) {Scanner read=new Scanner(System.in);while(true){int n;n=read.nextInt();if(n==0)break;int[] a;int[] b;a=new int[n];b=new int[n];for(int i=0;i<n;i++){a[i]=read.nextInt();int x,sum=0;x=a[i];while(x!=0){sum+=x%10;x/=10;}b[i]=sum;}for(int i=0;i<n;i++){for(int j=i+1;j<n;j++){if(b[i]>b[j]){b[i]=b[i]^b[j];b[j]=b[i]^b[j];b[i]=b[i]^b[j];a[i]=a[i]^a[j];a[j]=a[i]^a[j];a[i]=a[i]^a[j];}}}for(int i=0;i<n;i++) System.out.print(a[i]+" ");System.out.println();}}
}

4、球的相关计算问题

        球的相关计算涉及到球的体积和球的表面积以及过直径的截面积等,我们知道,以上计算仅需要知道球的半径就可以利用计算公式计算出来,计算中用到的圆周率使用3.14进行计算。
   输入:
       标准输入一个浮点数r(r>0),代表需要计算的球的半径.
   输出:
       标准输出,根据输入的球半径r,依次输出球表面积、圆球体积和直径的侧面积大小,数据间由一个空格隔开,结果保留2位有效数字。
   测试用例输入:
   3
   测试用例输出:
   113.04 113.04 28.26

本题代码答案:

import java.util.Scanner;
public class Ball {public static void main(String args[]) {double pi=3.14;Scanner in = new Scanner(System.in);double r = in.nextDouble();double s = 4*pi * r * r;double v = 4/3.0*pi*r*r*r;double sc = pi * r * r;System.out.printf("%.2f ",s);System.out.printf("%.2f ",v);System.out.printf("%.2f",sc);}
}

5、利用类对象计算日期

        在利用Java语言进行信息系统开发中,经常需要对日期进行计算和转换,比如,设置了某活动的开始日期和结束日期,系统需要判断当前是否是该活动时间,在Java开发的信息系统中,通常日期以字符串形式“yyyy-MM-dd hh:mm:ss”保存到数据库中,在进行转换中,通常需要将字符串表示的日期转换为Date对象,Java API提供了一个工具SimpleDateFormat对象能将一个满足“yyyy-MM-dd hh:mm:ss”形式的字符串转换成一个Date对象。在日期转换中,经常也利用到时间戳,什么是时间戳(timestamp)?时间戳(timestamp)是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。通过日期对象的getTime()将获得该日期的当前时间戳的毫米数。
    给你的问题是,如何给出某活动的开始日期和结束日期,已经当前日期的时间戳,需要你编程判定当前日期所处的位置.
样例输入:
    输入的第一行为已个正整数N,表示需要你计算活动次数,接下来的N行,每行的第一个数为一个10位正整数,表示当前日期的时间戳秒数,接下来是两个字符串,表示活动开始日期和结束日期。字符串满足日期“yyyy-MM-dd hh:mm:ss”格式。
样例输出:
    如果当前日期在活动开始之前,就输出“Before",如果在活动之中输出"NOW", 如果在活动之后,输出"After".
测试输入数据:
2
1389339888 "2013-10-11 12:12:12" "2013-10-12 12:12:12"
1389339888 "2014-01-09 12:12:12" "2014-01-12 12:12:12"
测试输出数据:
After
NOW

本题代码答案:

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;public class DataQuestion {public static void main(String[] args) {Scanner in=new Scanner(System.in);int n=in.nextInt();for(int i=0;i<n;i++){long now=in.nextLong();String str = in.nextLine();MyDate mydate=new MyDate(now,str);System.out.println(mydate.getResult());}}
}
class MyDate{long now;//秒Date begindate,enddate;public MyDate(long now,String str) {this.now = now;//"2013-10-11 12:12:12" "2013-10-12 12:12:12"str=str.trim();String strd1=str.substring(1,20);String strd2=str.substring(23,str.length()-1);try {SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");begindate  = df.parse(strd1);enddate  = df.parse(strd2);} catch(Exception ex) {ex.printStackTrace();}//System.out.println(strd1+":"+strd2);}public String getResult(){if(now <begindate.getTime()/1000)return "Before";else if(now >enddate.getTime()/1000)return "After";else return "NOW";}
}

6、日期计算问题

        在信息系统开发中,日期的计算成为常态,利用Java程序设计解决日期相关问题变得简单,给你的问题是计算两个日期(非时间上)相隔的天数。
输入:
    标准输入,输入的第一行为一个正整数N,表示需要你计算的问题数目,接下来的N行,每行有两个表示日期和时间格式的数据,两数据之间有一个空格,并且前一个日期在后一个日期的前面。
输出:
    标准输出,输出两日期(非时间)之间相处的天数,每个计算结果使用一行输出,并按照输入顺序依次输出该问题的结果。
测试用例输入:
4
2021-05-31 00:00 2021-06-01 00:01
2017-01-10 08:00 2017-01-10 09:00
2014-01-05 08:30 2014-01-14 08:00
2014-03-05 16:35 2014-07-03 08:00

测试用例输出:
1
0
9
120

本题代码答案:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class DateCalculation {public static void main(String[] args) throws ParseException {Scanner sc=new Scanner(System.in);SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");int n=sc.nextInt();while (n-- > 0) {String s1=sc.next()+" "+sc.next();String s2=sc.next()+" "+sc.next();Date date1=sdf.parse(s1);Date date2=sdf.parse(s2);long dd=(long)(date2.getTime()-date1.getTime())/24/60/60/1000;System.out.println(dd);}}
}

7、星期日期的计算

问题描述:

       在平时日常生活中通常需要回答当月的某日期为星期几的问题,常常通过提供你当月某天是星期几,然后需要计算当月的某日期为星期几。提供当月日期和星期的数(用阿拉伯数表示,0为Sunday,1为Monday,2为Tuesday,3为Wednesday,4为Thursday,5为Friday,6为Saturday),然后提供一个当月的日期号数,请计算该日期号数为星期几,使用英文单词输出星期几。

输入:

      标准输入,输入的第一行为计算用例数为整数n,接下来的n行,每行有3个由空格分开整数,其中第一个整数为当月的日期数,第二个整数为第一个整数表示的日期的星期几,第三个整数是需要你回答当月该日期是星期几,如该行输入为:1 3  10,表示当月的1号为星期三,请问当月的10号为星期几。

输出:

     标准输出:每一个计算的结果使用一行输出,输出使用英文单词输出星期几。

输入样例:

2
1 3 10
10 0 5

输出样例:

Friday
Tuesday

本题代码答案:

import java.util.Scanner;public class DateWeek {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String[] week = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};int n = sc.nextInt();while (n-- > 0) {int d1 = sc.nextInt();int w1 = sc.nextInt();int d2 = sc.nextInt();int w2 = (d2 - d1 + w1) % 7;w2 = w2 < 0? w2 + 7:w2;System.out.println(week[w2]);}}
}

8、计算坐标平面上两点距离

题目描述
    在平面直角坐标系中求两点的距离。
输入
    输入有若干行,每行四个数,分别代表两个坐标点(a,b)和(c,d),当每行四个数为0时,结束输入,本用例不用计算。
输出
    对应输出这两点之间的距离。结果保留两位小数。请注意行尾输出换行。
样例输入
0 0 4 3
1.1 -2.3 0 1
0 0 0 0
样例输出
5.00
3.48

本题代码答案:

import java.util.Scanner;
import java.lang.Math;public class DistQuestion {private static double a, b, c, d;//这种方法Scanner也要放外面并设置成staticstatic Scanner sc = new Scanner(System.in);public static void main(String[] args) {while ( sin() ) {double s = Math.sqrt((a-c)*(a-c) + (b-d)*(b-d));System.out.printf("%.2f%n", s);}}private static boolean sin() {a = sc.nextDouble();b = sc.nextDouble();c = sc.nextDouble();d = sc.nextDouble();return a != 0 || b != 0 || c != 0 || d != 0;}
}

9、异常处理设计问题

        我们能够通过海伦公式计算已知一个三角形三边长度的三角形面积,如果三角形的三边长为a,b,c,三角形的面积计算公式描述如下:

        要求你完成MyMath对象中的trianglearea法的实现,如果参数a,b,c的值不能构成一个三角形,使用异常进行处理,产生无效三角形异常,如果a,b,c中有负数,产生参数无效异常,根据题目要求请你完成异常类型和MyMath类型的设计。MyMath设计代码如下:

import java.util.*;
public class MyMath
{
 public static double trianglearea(double a,double b,double c)
  throws NotTriAngleException,NegativeArgementsException{
        //判定a,b,c是否全为正数

  //判定a,b,c是否能构成三角形

  //计算三角形面积
  double s;
 }
 public static void main(String[] args)
 {
  double a,b,c;
  int N;
  Scanner sc= new Scanner(System.in);
  N = sc.nextInt();
  for(int i=0;i<N;i++){
   a=sc.nextDouble();
   b=sc.nextDouble();
   c=sc.nextDouble();
   System.out.printf("%.2f\n",MyMath.trianglearea(a,b,c));
  }
 }   
}

class NotTriAngleException extends Exception
{        }

class NegativeArgementsException extends Exception
{        }

  输入:
      输入的第一行为一个正整数N(N>0),表示以下有N行数据,每行为一个三角形边的输入信息,原则上是由空格隔开的三个浮点数,但也可能由于输入错误产生非正常情况。
  输出:
      如果某行三角形边数据能读入三个浮点数,输出方法trianglearea计算结果,保留2位小数,如果发生异常直接输出异常信息;每个三角形计算信息使用一行输出;如果某行三角形边数据读入出现问题,直接退出程序的运行。
  测试1输入:
     3
  3 4 5.0
  1 1 2
     -2 4.0 3
  测试1输出:
     6.00
    Not TriAngle
     Negative Argements
  测试2输入:    
  3
  3 4 5.0
  1a 1 2
   -2 4.0 3

  测试2输出:
     6.00

本题代码答案:

import java.util.*;
public class Ex_Handing {public static double trianglearea(double a, double b, double c) throws NotTriAngleException, NegativeArgementsException {// 判定a,b,c是否全为 正数if (a < 0 || b < 0 || c < 0){ throw new NegativeArgementsException("Negative Argements"); }//判定a,b,c是否能构成三角形if (a + b <= c || a + c <= b || c + b <= a){ throw new NotTriAngleException("Not TriAngle"); }// 计算三角形面积double p = (a + b + c) / 2.0;double s = Math.sqrt(p*(p -a)*(p -b)*(p -c));return s; }public static void main(String[] args){ double a = 0, b = 0, c = 0;int N;Scanner sc = new Scanner(System.in);N = sc.nextInt();for (int i = 0; i < N; i++){ try{ a = sc.nextDouble(); b = sc.nextDouble(); c = sc.nextDouble();System.out.printf("%.2f\n", Ex_Handing.trianglearea(a, b, c)); }catch (NegativeArgementsException e){ System.out.println(e.getMessage()); }catch (NotTriAngleException e){ System.out.println (e.getMessage()); }catch (Exception e) { }}}
}
class NotTriAngleException extends Exception
{NotTriAngleException(String message) { super(message); } }
class NegativeArgementsException extends Exception
{NegativeArgementsException(String message) { super(message); }
}

10、Java源文件和字节码文件名称的判断问题

        Java源文件名必须满足以“.java”为后缀名,他编译的字节码文件以“.class”为后缀名,文件的命名(Java类型命名)必须满足标识符规则,即文件名必须由英文大小写字母、数字、下划线和美元符组成,并且第一个字母不能为数字字符。
       给你的问题是请你编写程序判断提供的字符串是Java源文件还是字节码文件。
输入:
    标准输入,标准输入多行,每行字符串为提供的一个文件名称。
输出:
    标准输出,根据输入一行的字符串进行判断,如果是合法的源文件,使用一行输出“Java Source File",如果是合法的字节码文件,使用一行输出”Java Byte File",如果文件既不是源文件,也不是字节码文件,使用一行输出“Not Java File"。
输入样列:
Test.java
Test1.class
3Demo.class

输出样列:
Java Source File
Java Byte File
Not Java File

本题代码答案:

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class File {public static void main(String[] args) {String s = null;Scanner in = new Scanner(System.in);while (in.hasNextLine()) {s = in.nextLine();FileTool1 ss = new FileTool1(s);ss.getSource();}}
}
class FileTool1 {String s;public FileTool1(String s) { this.s = s;}public  void getSource () {int  n = s.indexOf(".");Pattern name  = Pattern.compile("^[a-zA-Z_$]+[a-zA-Z\\d_$]+$");String file = s.substring(0,n);Matcher f = name.matcher(file.trim());if (f.matches() && s.endsWith(".java"))System.out.println("Java Source File");else if (f.matches() && s.endsWith(".class"))System.out.println("Java Byte File");elseSystem.out.println("Not Java File");}
}

11、函数表达式的计算

        请你设计一个程序,根据输入的x值计算出函数值y,函数表达式为:
    |  x,x<1
y=| 2x-1,  1<=x<10
    |3x-11,  x>=10

    输入数据的x值使用标准输入,x的输入占一行,你的计算结果也使用一行输出,输出结果保留6位小数。
输入测试用例:
12.54
用例输出结果:
26.620000

本题代码答案:

import java.util.Scanner;
public class FunctionExpression{public static void main(String[] args){Scanner in=new Scanner(System.in);double y,x=in.nextDouble();if(x<1) y=x;else if(x<10) y=2*x-1;else y=3*x-11;System.out.printf("%.6f",y);}
}

12、成绩的学分绩点计算

题目描述
    某校学生评比采用绩点制,规则是:90分以上(含90分,下同)算5点,80分以上算4点,70分以上算3点,60分以上算2点,不及格算0点,请根据某个学生的成绩及学分计算该生该门课程所获得的绩点。
输入
    标准输入,输入的第一行为需要计算用例个数N,接下来的N行,每行有两个浮点数,第一个数为某课程的考试成绩,第二个数为该课程的学分值。
输出
    标准输出,每一行输出一个学生的某课程计算得到的绩点数(结果保留一位小数),请注意行尾输出换行。
样例输入
3
85 1.5
90 3
50 4
样例输出
6.0
15.0
0.0

本题代码答案:

 import java.util.Scanner;public class GradePoint{public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();while ( n-- > 0 ) {double score = sc.nextDouble();double weight = sc.nextDouble();double point = 0.0;if ( score >= 90.0 ) point = 5.0;else if ( score >= 80.0 ) point = 4.0;else if ( score >= 70.0 ) point = 3.0;else if ( score >= 60.0 ) point = 2.0;System.out.printf("%.1f\n", weight * point);}}
}

相关文章:

数据结构(JAVA版)练习题

&#xff08;题目难易程度与题号顺序无关哦&#xff09; 目录 1、多关键字排序 2、集合类的综合应用问题 3、数组排序 4、球的相关计算问题 5、利用类对象计算日期 6、日期计算问题 7、星期日期的计算 8、计算坐标平面上两点距离 9、异常处理设计问题 10、Java源文件…...

C#编程过程中变量用中文有啥影响?

一、C#语言对中文变量名的支持规则 技术可行性 C#编译器基于Unicode标准&#xff08;UTF-16编码&#xff09;&#xff0c;支持包括中文在内的非ASCII字符作为变量名。变量名规则允许字母、数字、下划线及Unicode字符&#xff08;如汉字&#xff09;&#xff0c;但不能以数字开头…...

哈希表入门:用 C 语言实现简单哈希表(开放寻址法解决冲突)

目录 一、引言 二、代码结构与核心概念解析 1. 数据结构定义 2. 初始化函数 initList 3. 哈希函数 hash 4. 插入函数 put&#xff08;核心逻辑&#xff09; 开放寻址法详解&#xff1a; 三、主函数验证与运行结果 1. 测试逻辑 2. 运行结果分析 四、完整代码 五、优…...

[华为eNSP] 在eNSP上实现IPv4地址以及IPv4静态路由的配置

设备名称配置 重命名设备以及关闭信息提示 此处以R1演示&#xff0c;R2R3以此类推 <Huawei>system-view [Huawei]sysname R1#关闭提示 undo info-center enable 配置路由接口IP地址 R1 [R1]interface GigabitEthernet 0/0/1[R1-GigabitEthernet0/0/1]ip address 10.0.…...

2024年第十五届蓝桥杯青少组c++国赛真题——快速分解质因数

2024年第十五届蓝桥杯青少组c国赛真题——快速分解质因数 题目可点下方去处&#xff0c;支持在线编程&#xff0c;在线测评&#xff5e; 快速分解质因数_C_少儿编程题库学习中心-嗨信奥 题库收集了历届各白名单赛事真题和权威机构考级真题&#xff0c;覆盖初赛—省赛—国赛&am…...

【动手学MCP从0到1】2.1 SDK介绍和第一个MCP创建的步骤详解

SDK介绍和第一个MCP 1. 安装SDK2. MCP通信协议3. 基于stdio通信3.1 服务段脚本代码3.2 客户端执行代码3.2.1 客户端的初始化设置3.2.2 创建执行进行的函数3.2.3 代码优化 4. 基于SSE协议通信 1. 安装SDK 开发mcp项目&#xff0c;既可以使用Anthropic官方提供的SDK&#xff0c;…...

基于MyBatis插件实现动态表名解决多环境单一数据库问题

业务场景 在为某新能源汽车厂商进行我司系统私有化部署时&#xff0c;在预演环境和生产环境中&#xff0c;客户仅提供了一个 MySQL 数据库实例。为了确保数据隔离并避免不同环境之间的数据冲突&#xff0c;常规做法是为每个环境创建独立的表&#xff08;如通过添加环境前缀或后…...

测试面试题总结一

目录 列表、元组、字典的区别 nvicat连接出现问题如何排查 mysql性能调优 python连接mysql数据库方法 参数化 pytest.mark.parametrize 装饰器 list1 [1,7,4,5,5,6] for i in range(len(list1): assert list1[i] < list1[i1] 这段程序有问题嘛&#xff1f; pytest.i…...

Spring Boot应用多环境打包与Shell自动化部署实践

一、多环境配置管理&#xff08;Profile方案&#xff09; 推荐方案&#xff1a;通过Maven Profiles实现环境隔离 在pom.xml中定义不同环境配置&#xff0c;避免硬编码在application.yml中&#xff1a; <profiles><!-- 默认环境 --><profile><id>node…...

【深度学习】14. DL在CV中的应用章:目标检测: R-CNN, Fast R-CNN, Faster R-CNN, MASK R-CNN

深度学习在计算机视觉中的应用介绍 深度卷积神经网络&#xff08;Deep convolutional neural network&#xff0c; DCNN&#xff09;是将深度学习引入计算机视觉发展的关键概念。通过模仿生物神经系统&#xff0c;深度神经网络可以提供前所未有的能力来解释复杂的数据模式&…...

grpc的二进制序列化与http的文本协议对比

grpc的二进制序列化与http的文本协议对比 1. 二进制格式 vs 文本格式2. 编码机制&#xff1a;Varint 与固定长度3. 没有字段名与标点4. 较少的元信息开销4.1 HTTP/1.1 请求的元信息组成与开销4.1.1 各部分字节数示例 4.2 HTTP/2 帧结构与 HPACK 头部压缩4.2.1 HEADERS 开销对比…...

Linux 环境下 PPP 拨号的嵌入式开发实现

一、PPP 协议基础与嵌入式应用场景 PPP (Point-to-Point Protocol) 是一种在串行线路上传输多协议数据包的通信协议&#xff0c;广泛应用于拨号上网、VPN 和嵌入式系统的远程通信场景。在嵌入式开发中&#xff0c;PPP 常用于 GPRS/3G/4G 模块、工业路由器和物联网设备的网络连接…...

UE 材质基础第三天

飘动的旗帜 错乱的贴图排序&#xff0c;创建一个材质函数 可以用在地面材质 体积云材质制作 通过网盘分享的文件&#xff1a;虚幻引擎材质宝典.rar 链接: https://pan.baidu.com/s/1AYRz2V5zQFaitNPA5_JbJw 提取码: cz1q --来自百度网盘超级会员v6的分享...

【Github/Gitee Webhook触发自动部署-Jenkins】

Github/Gitee Webhook触发自动部署-Jenkins #mermaid-svg-hRyAcESlyk5R2rDn {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-hRyAcESlyk5R2rDn .error-icon{fill:#552222;}#mermaid-svg-hRyAcESlyk5R2rDn .error-tex…...

软件工程专业本科毕业论文模板

以下是软件工程专业本科毕业论文的通用模板框架&#xff0c;结合学术规范与工程实践要求&#xff0c;涵盖从需求分析到测试验证的全流程结构&#xff0c;并附格式说明与写作建议&#xff1a; 一、前置部分 1. 封面 - 包含论文标题&#xff08;简明反映研究核心&#xff0c;如“…...

新松机械臂 2001端口服务的客户端例程

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…...

电脑网络重置,找不到原先自家的WIFI,手机还能正常连接并上网

问题排查&#xff1a;1、电脑感觉网络太慢&#xff0c;因此打算点击了网络重置 2、点击提示会删除网络&#xff0c;在五分钟后关机重启 3、从设备管理器设备的无线wifi属性-事件中发现删除记录 4、选择更新驱动程序 5、从列表中选取 6、更改回老驱动版本 备选方案&#…...

期末复习(学习)之机器学习入门基础

上课没听过报道。欢迎补充交流&#xff01; 前言&#xff1a;老师画的重点其实可以完全不用看&#xff0c;我这里只是看了一眼书顺着书本敲一遍。 比较干货的部分&#xff0c;直接看学习通的内容就好。最重要的是把学习通的内容记好。 目录 老师划的重点&#xff1a;P50 结构…...

网络各类型(BMA,NBMA,P2P)

网络类型—基于二层&#xff08;数据链路层&#xff09;使用的协议不同从而导致数据包封装方式不同&#xff0c;工作方式也有所区别&#xff0c;从而对网络本身进行分类 一、网络类型分类 2. 关键差异对比 1. HDLC&#xff08;高级数据链路控制协议&#xff09; 协议特点&…...

Linux 库文件的查看和管理

Linux 库文件说明1、库文件的类型2、库文件存储路径3、库文件查找顺序 Linux 库文件管理1、查看动态库相关信息2、添加动态库查找路径 Linux 库文件说明 1、库文件的类型 Linux 中的库文件本质上就是封装好的功能模块&#xff0c;某个应用程序如果要实现某个功能&#xff0c;…...

Java设计模式深度解析:策略模式的核心原理与实战应用

目录 策略模式基础解析策略模式实现指南策略模式典型应用场景Java生态中的策略模式实践策略模式进阶技巧策略模式最佳实践总结与展望1. 策略模式基础解析 1.1 核心概念与定义 策略模式(Strategy Pattern)是一种行为型设计模式,它定义了一系列算法族,将每个算法封装成独立…...

【计算机网络】第3章:传输层—概述、多路复用与解复用、UDP

目录 一、概述和传输层服务 二、多路复用与解复用 三、无连接传输&#xff1a;UDP 四、总结 &#xff08;一&#xff09;多路复用与解复用 &#xff08;二&#xff09;UDP 一、概述和传输层服务 二、多路复用与解复用 三、无连接传输&#xff1a;UDP 四、总结 &#xff08…...

6、在树莓派上安装 NTP(Network Time Protocol )服务的步骤

在树莓派上安装 NTP&#xff08;Network Time Protocol &#xff09;服务的步骤&#xff1a; 1. 安装 NTP 服务 打开树莓派终端&#xff0c;输入以下命令更新软件包列表&#xff1a; sudo apt-get update然后安装 NTP 服务&#xff1a; sudo apt-get install ntp2. 配置 NT…...

神经符号AI的企业应用:结合符号推理与深度学习的混合智能

&#x1f4a1; 技术前沿&#xff1a; 神经符号AI代表了人工智能发展的新阶段&#xff0c;它将深度学习的模式识别能力与符号推理的逻辑分析能力有机结合&#xff0c;创造出更加智能、可解释且可靠的AI系统。这种混合智能技术正在重塑企业的智能化应用&#xff0c;从自动化决策到…...

VSCode 中 C/C++ 安装、配置、使用全攻略:小白入门指南

引言 本文为Windows系统下安装配置与使用VSCode编写C/C代码的完整攻略&#xff0c;示例机器为Windows11。 通过本文的指导&#xff0c;你可以成功在Windows 机器上上使用VSCode进行C/C开发。 在文章开始之前&#xff0c;你可以先阅读下面这段话&#xff0c;以便于对步骤有个大…...

重温经典算法——希尔排序

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 基本原理 希尔排序是插入排序的改进版&#xff0c;通过按增量分组并逐步缩小增量实现排序。时间复杂度取决于增量序列&#xff0c;平均约为 O(n log n) 到 O(n^(3/2))&…...

CortexON:开源的多代理AI系统无缝自动化和简化日常任务

简介 CortexON是一个开源的多代理AI系统&#xff0c;灵感来自Manus和OpenAI DeepResearch等高级代理平台。CortexON旨在无缝自动化和简化日常任务&#xff0c;擅长执行复杂的工作流程&#xff0c;包括全面的研究任务、技术操作和复杂的业务流程自动化。 技术架构 CortexON的技…...

海信IP810N-海思MV320芯片-安卓9-2+16G-免拆优盘卡刷固件包

海信IP810N-海思MV320芯片-安卓9-216G-免拆优盘卡刷固件包 线刷方法&#xff1a;&#xff08;新手参考借鉴一下&#xff09; 1.准备一个优盘&#xff0c;最佳是4G&#xff0c;卡刷强刷刷机&#xff0c;用一个usb2.0的8G以下U盘&#xff0c;fat32&#xff0c;2048块单分区格式化…...

【Golang】使用gin框架导出excel和csv文件

目录 1、背景2、go库【1】excel库下载【2】csv标准库 3、代码示例4、使用方法 1、背景 项目中可能会遇到导入导出一批数据的功能&#xff0c;对于批量大数据可能用表格的方式直观性更好&#xff0c;所以本篇文件来讲一下go中导出excel和csv文件的方式。 2、go库 【1】excel库…...

【unity游戏开发入门到精通——通用篇】AssetBundle(AB包)和AssetBundleBrowser的使用介绍

文章目录 前言1、什么是AssetBundle?2、AB包与Resources系统对比3、AB包核心价值一、AB包打包工具Asset Bundle Browser1、下载安装AssetBundles-Browser2、打开Asset Bundle Browser窗口3、如何让资源关联AB包二、AssetBundleBrowser参数相关1、Configure 配置页签2、Build 构…...