900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 实验二 Java基础语法练习-基本数据类型 运算符与表达式 选择结构

实验二 Java基础语法练习-基本数据类型 运算符与表达式 选择结构

时间:2023-02-26 06:47:09

相关推荐

实验二 Java基础语法练习-基本数据类型 运算符与表达式 选择结构

一、 实验目的及要求

目的:

(1) 掌握各种变量的声明方式

(2) 掌握Java的基本数据类型、运算符与表达式的使用方法。

(3) 理解Java的程序语法结构,掌握顺序结构、选择结构程序设计方法。

(4) 通过以上内容,掌握Java语言的编程规则。

要求:

(1)编写一个声明Java不同数据类型变量的程序

(2)编写使用运算符、表达式和变量的程序

(3)编写使用选择结构的程序

二、实验内容与步骤

编写一个程序,要求将一个浮点数强制转化成整型后再输出。编写程序,从键盘输入a、b、c的值,计算下列表达式(-b+√(b^2-4ac))/2a(开根用Math.sqrt()方法)选择结构练习

(1)使用if-else语句

定义一个学生的JAVA成绩为n(0到100的整数),编写一个程序输出这个学生成绩的等级,比如76为“中”。(A:>=90;B:>=80;C:>=70;D:>=60;F:<60)。

(2)设 int year,month,day 分别表示一个日期中的年月日,试编程求

a对于任意三个整数,判断其是否为一个合法的日期值。

b给定一个日期值,计算若干天后的日期值(选做)

c如果有两个日期值,计算他们相距的天数(选做)

package com.xzj.day01;/*** @author xuzhijie* @create -04-07 20:49*/import java.util.Scanner;public class Test01 {public static void main(String[] args) {System.out.println("java实验二:");System.out.println("1:输入浮点数转化成整型");System.out.println("2:输入a,b,c的值,打印出表达式的值");System.out.println("3:输入学生成绩,打印出学生成绩等级");System.out.println("4:对于任意三个整数,判断其是否为一个合法的日期值");System.out.println("5:给定一个日期值,计算若干天后的日期值");System.out.println("6:如果有两个日期值,计算他们相距的天数");System.out.println("请输入要执行的题目:");Scanner sc = null;sc = new Scanner(System.in);int ren = sc.nextInt();if(ren == 1)TestA();if(ren == 2)TestB();if(ren == 3)TestC();if(ren == 4)TestD();if(ren == 5)TestE();if(ren == 6)TestF();}public static void TestA(){System.out.println("请输入一个浮点数:");Scanner sca01 = new Scanner(System.in);double d1 = sca01.nextFloat();System.out.println((int)d1);}public static void TestB(){System.out.println("请输入你的成绩:");Scanner sca02 = new Scanner(System.in);int result = sca02.nextInt();if(result > 100 || result <0){System.out.println("您输入的成绩有误");}else if(result >= 90){System.out.println("您输入的成绩为:A");}else if(result >= 80){System.out.println("您输入的成绩为:B");}else if(result >= 70){System.out.println("您输入的成绩为:C");}else if(result >= 60){System.out.println("您输入的成绩为:D");}else{System.out.println("您输入的成绩为:F");}}public static void TestC(){System.out.println("请输入三个数:");Scanner sca03 = new Scanner(System.in);int a = sca03.nextInt();int b = sca03.nextInt();int c = sca03.nextInt();double result = b * b - 4 * a * c;double radical = Math.sqrt(result);double formula = (-b + radical) / (2 * a);System.out.println("当a=" + a + ",当b=" + b + ",当c=" + c + ",时表达式的值为: "+formula);}public static void TestD(){System.out.println("请输入三个整数:");Scanner sca03 = new Scanner(System.in);int year = sca03.nextInt();int month = sca03.nextInt();int day = sca03.nextInt();boolean isTrue = false;boolean isLeapYear = false;if(year%400==0||year%4==0&&year%100!=0) {isLeapYear = true;}else {isLeapYear = false;}if(year>0){if(month>=1&&month<=12){if(month==4||month==6||month==9||month==11){if(day>0&&day<31){isTrue = true;}}else if(month==2){int FebruaryDays = 28+(isLeapYear==true?1:0);if(day>0&&day<=FebruaryDays){isTrue = true;}}else{if(day>0&&day<32){isTrue = true;}}}}if(isTrue){System.out.println("这个日期是合法日期");}else{System.out.println("这个日期不是合法日期");}}public static void TestE(){System.out.println("请输入日期:");Scanner sc = new Scanner(System.in);int year = sc.nextInt();int month = sc.nextInt();int day = sc.nextInt();System.out.println("请输入几天后:");int day01 = sc.nextInt();int data = day + day01;while(data>31){if(month==4||month==6||month==9||month==12){if(data<30){day = data;}else {month++;data = data - 30;}}else if(month==2){if(year%400==0||year%4==0&&year%100!=0){if(data <29){day = data;}else{month++;data = data - 29;}}else{if(data<28){day = data;}else{month++;data = data - 28;}}}else{month++;data = data - 31;}if(month==12){year++;month = 1;}}if(month==4||month==6||month==8){if(data==30){month++;}if(data==31){month++;day++;}if(data>=1&&data<=30)day = data;}else if(month==2){if(year%400==0||year%4==0&&year%100!=0){if(data>=29){month++;day = day + (data-29);}elseday = data;}else{if(data>=28){month++;day = day + (data-28);}elseday = data;}}else if(month==12){if(data>=30){month = 1;year++;}elseday = data;}else{if(data==31){month++;day = 1;}elseday = data;}System.out.println("该几天后的日期为:" + year + "年" + month + "月" + day + "日");}public static void TestF(){Scanner sc = new Scanner(System.in);int sum = 0,sumyear = 0,summonth = 0,sumday = 0;System.out.println("请输入第一个日期(年份较大的那一个):");int year01 = sc.nextInt();int month01 = sc.nextInt();int day01 = sc.nextInt();System.out.println("请输入第二个日期(年份较小的那一个):");int year02 = sc.nextInt();int month02 = sc.nextInt();int day02 = sc.nextInt();for(int i=year02;i<year01;i++){if(i%4==0&&i%100!=0||i%400==0){sumyear = sumyear + 366;}elsesumyear = sumyear +365;}int demo = -1;if(month01>=month02){demo = 1;}if(month02>month01){int t = month01;month01 = month02;month02 = t;demo =-1;}for(int j=month02;j<month01;j++){if(j==4||j==6||j==9||j==11){summonth = summonth + 30*demo;}else if(j==2){if(year02%4==0&&year02%100!=0||year02%400==0){summonth = summonth + 29*demo;}elsesummonth = summonth + 28*demo;}elsesummonth = summonth + 31*demo;}sumday = day01 -day02;sum = sumyear + summonth + sumday;System.out.println("这两年之间差" + sum + "天");}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。