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

Java 上机实践9(常用实用类)

(大家好,今天分享的是Java的相关知识,大家可以在评论区进行互动答疑哦~加油!💕)

目录

方法一(记事本)

方法二(IDEA)

实验一:检索简历

一、实验目的

二、实验要求

三、程序代码

 四、实验结果 

实验二:菜单的价格

一、实验目的

二、实验要求

三、程序代码

  四、实验结果 

实验三:比较日期

一、实验目的

二、实验要求

三、程序代码

 四、实验结果 


Plug:程序实现

方法一(记事本)

  1. 新建一个记事本
  2. 输入代码
  3. 另存文件
  4. 更改文件名,名字为public class后的名字+.javaHello.java
  5. 更改保存类型,选择所有文件
  6. 选择编码格式,一般选择ANSI UTF-8(在编译时需加上固定格式-encoding utf-8)(这里我们选择UTF-8)

方法二(IDEA)

  1. 新建java文件
  2. 输入代码
  3. 编译运行

(相较简便一些)


实验一:检索简历

一、实验目的

本实验的目的是让学生掌握String类的用法。

二、实验要求

简历的内容如下:“姓名:张三 出生时间:1989.10.16。个人网站: http://www.zhang.com。身高:1.85cm,体重:72kg”。

编写一个Java应用程序,判断简历中的姓名是否姓“张”,单独输出简历中的出生日期和个人网站,并判断简历中的身高是否大于180cm,体重是否小于75kg。

三、程序代码

FindMess.java

public class FindMess {
   public static void main(String args[]) {
      String mess = "姓名:张三 出生时间:1989.10.16。个人网站:http://www.zhang.com。身高:185cm,体重:72kg";
      int index =mess.indexOf(":");   //【代码1】mess调用indexOf(String s)方法返回字符串中首次出现冒号的位置
      String name = mess.substring(index+1);
      if(name.startsWith("张")) {
          System.out.println("简历中的姓名姓\"张\"");
      }
      index = mess.indexOf(":",index+1); //【代码2】mess调用indexOf(String s,int start)方法返回字符串中第2次出现冒号的位置
      String date = mess.substring(index+1,index+11);
      System.out.println(date);
      index = mess.indexOf(":",index+1);
      int heightPosition = mess.indexOf("身高");   //【代码3】 mess调用indexOf(String s)方法返回字符串中首次出现"身高"的位置
      String personNet = mess.substring(index+1,heightPosition-1);
      System.out.println(personNet);
      index = mess.indexOf(":",index+1);   //【代码4】mess调用indexOf(String s,int start)方法返回字符串中"身高"后面的冒号位置
      int cmPosition = mess.indexOf("cm");
      String height = mess.substring(index+1,cmPosition);
      height = height.trim();
      int h = Integer.parseInt(height);
      if(h>=180) {
         System.out.println("简历中的身高"+height+"大于或等于180 cm");
      }  
      else {
         System.out.println("简历中的身高"+height+"小于180 cm");
      }
      index = mess.indexOf(":",index+1); //【代码5】mess调用lastIndexOf(String s)返回字符串中最后一个冒号位置
      int kgPosition = mess.indexOf("kg");
      String weight = mess.substring(index+1,kgPosition);
      weight = weight.trim();
      int w = Integer.parseInt(weight);
      if(w>=75) {
         System.out.println("简历中的体重"+weight+"大于或等于75 kg");
      }  
      else {
         System.out.println("简历中的体重"+weight+"小于75 kg");
      }
   }
} 

 四、实验结果 


实验二:菜单的价格

一、实验目的

本实验的目的是让学生掌握使用Scanner类的对象从字符串中解析程序所需要的的数据。

二、实验要求

菜单简历的内容如下:“北京烤鸭:138元 西芹炒肉:12.9元 酸菜鱼:69元 铁板牛柳:32元”。

编写一个Java应用程序,输出菜单中的价格数据,并计算出菜单的总价格。

三、程序代码

ComputePrice.java

import java.util.*;
public class ComputePrice {
   public static void main(String args[]) {
      String menu = "北京烤鸭:189元 西芹炒肉:12.9元 酸菜鱼:69元 铁板牛柳:32元";
      Scanner scanner =new Scanner(menu); //【代码1】使用构造方法Scanner(String str)创建scanner,将menu传递给构造方法的参数
      String regex = "[^0123456789.]+";
      scanner.useDelimiter(regex); //【代码2】scanner调用useDelimiter(String regex),将regex传递给该方法的参数
      double sum=0;
      while(scanner.hasNext()){
         try{ 
              double price = scanner.nextDouble(); //【代码3】scanner调用nextDouble()返回数字单词
              sum = sum+price;
              System.out.println(price);
         } 
         catch(InputMismatchException exp){
              String t = scanner.next();
         }   
      }
      System.out.println("菜单总价格:"+sum+"元");
   }
}

  四、实验结果 


实验三:比较日期

一、实验目的

本实验的目的是让学生掌握使用Date类以及Calendar类的常用方法。

二、实验要求

菜单编写一个Java应用程序,用户输入两个日期,程序将判断两个日期的大小关系以及两个日期的间隔天数。

三、程序代码

 CompareDate.java

import java.util.*;
public class CompareDate {
   public static void main(String args[ ]) {
      Scanner scanner = new Scanner(System.in);
      System.out.println("输入第一个年,月,日数据");
      System.out.print("输入年份"); 
      short yearOne = scanner.nextShort();
      System.out.print("输入月份"); 
      byte monthOne = scanner.nextByte();
      System.out.print("输入日期"); 
      byte dayOne = scanner.nextByte();
      System.out.println("输入第二个年,月,日数据");
      System.out.print("输入年份"); 
      short yearTwo = scanner.nextShort();
      System.out.print("输入月份"); 
      byte monthTwo= scanner.nextByte();
      System.out.print("输入日期"); 
      byte dayTwo = scanner.nextByte();
      Calendar calendar = Calendar.getInstance();  //【代码1】初始化日历对象
       calendar.set(yearOne, monthOne - 1, dayOne);    //【代码2】将calendar的时间设置为yearOne年monthOne月dayOne日
      long timeOne = calendar.getTimeInMillis();     //【代码3】calendar表示的时间转换成毫秒
      calendar.set(yearTwo,monthTwo-1,dayTwo); 
      long timeTwo=calendar.getTimeInMillis();
      Date date1 = new Date(timeOne);       // 【代码4】用timeOne做参数构造date1
      Date date2 =new Date(timeTwo);
      if(date2.equals(date1))
          System.out.println("两个日期的年、月、日完全相同");
      else if(date2.after(date1))
          System.out.println("您输入的第二个日期大于第一个日期");
      else if(date2.before(date1))
          System.out.println("您输入的第二个日期小于第一个日期");
      long days=Math.abs(timeTwo - timeOne) / (1000 * 60 * 60 * 24);//【代码5】使用timeTwo,timeOne计算两个日期相隔天数
      System.out.println(yearOne+"年"+monthOne+"月"+dayOne+"日和"
                         +yearTwo+"年"+monthTwo+"月"+dayTwo+"相隔"+days+"天");
   }  
}

 四、实验结果 


(今日分享暂时到此为止啦!为不断努力的自己鼓鼓掌吧🥳。今日文案分享:在光芒万丈之前,我们都要欣然接受眼下的难堪和不易,接受一个人的孤独和偶尔的无助。


http://www.kler.cn/a/416921.html

相关文章:

  • Docker 清理镜像策略详解
  • 项目切换Java21
  • 定时任务删除MongoDB历史数据
  • 安卓mokey测试学习思路
  • 摄影相关常用名词
  • mysql将一个表的数据插入到另一个表中
  • .net6,C#语法excel、zip文件下载
  • 无人机飞手人才培养技术方案详解
  • 使用Python编写Windows系统服务管理脚本,主要用于管理mysql、postgresql等服务
  • R包开发时Imports和Suggests区分
  • 如何正确的检索一个研究领域的文献?以PubMed数据库为例
  • 基于Dell Idrac7的服务器硬件监控指标解读
  • 排序算法--堆排序【图文详解】
  • Day1 生信新手笔记
  • leetcode:222完全二叉树的节点个数
  • mysql的一次优化,同版本mysql服务器上的运行速度比本地慢很多
  • Github 2024-11-30 Rust开源项目日报 Top10
  • AWS账户注册未完成会收费吗?
  • 【JavaScript】同步异步详解
  • 阿里云服务器(centos7.6)部署前后端分离项目(MAC环境)
  • 七天掌握SQL——第六天:数据库性能优化与监控
  • java 接口防抖
  • SpringBoot 新冠密接者跟踪系统:校园疫情防控的智能守护者
  • 使用 pycharm 新建使用 conda 虚拟 python 环境的工程
  • 【JAVA】反射和注解
  • 设计模式----迭代器模式