当前位置:   article > 正文

零基础计算机专业生一生要强的JAVA之路(1):2022-09-16实验二记录_编写程序,当用户从键盘输入一个浮点数据,程序输出这个数的平方和三次方

编写程序,当用户从键盘输入一个浮点数据,程序输出这个数的平方和三次方

这里是计算机专业大二学生小文,记录一下自己学习java的辛酸过往。

1、从键盘输入数据

编写一个Java Application程序,用户从键盘输入一个浮点数据,程序将输出这个数的平方和三次方。

基础知识:

System.out表示标准输出设备,用System.in表示标准输入设备,默认情况下,输出设备是控制台,输入设备是键盘。

使用java.util.Scanner类创建对象读取来自System.in的输入:

        Scanner scanner=new Scanner(System.in)

Scanner对象包括以下读取输入的方法:

  1. next():读取一个字符串。
  2. nextByte():读取byte类型的数
  3. nextShort():读取short类型的数
  4. nextInt():读取int类型的数
  5. nextLong():读取long类型的数
  6. nextFloat():读取float类型的数
  7. nextDouble():读取double类型的数

实验代码:

  1. //InputFloat.java
  2. import java.util.*;
  3. public class InputFloat
  4. {
  5. public static void main(String args[])
  6. {
  7. double a,b,c;
  8. Scanner reader = new Scanner(System.in); //创建一个Scanner类的对象reader
  9. System.out.println("从键盘输入一个浮点数");
  10. a=reader.nextDouble();
  11. // reader调用nextDouble()方法读取用户从键盘输入的数据,并赋值给a
  12. b=a*a;
  13. c=a*a*a;
  14. System.out.printf("%f的平方是%f\n",a,b); // 输出b
  15. System.out.printf("%f的立方是%f",a,c); // 输出c
  16. }
  17. }

 运行结果:


2、通过控制台输入3个整数,作为三角形的三个边长度,判断三角形是否为有效?(有效指任何两边之和大于第三边)

运行效果如图。

 实验代码:

  1. import java.util.Scanner;
  2. public class isTriangle{
  3. public static void main(String args[]){
  4. Scanner scanner = new Scanner(System.in);
  5. System.out.println("请输入三角形的第一条边长:");
  6. int a = scanner.nextInt();
  7. System.out.println("请输入三角形的第二条边长:");
  8. int b = scanner.nextInt();
  9. System.out.println("请输入三角形的第三条边长:");
  10. int c = scanner.nextInt();
  11. System.out.println(a+"、"+b+"、"+c+"是否可以组成三角形?\n");
  12. if( (a+b)>c && (a+c)>b && (b+c)>a ){
  13. System.out.println("true");
  14. }
  15. else{
  16. System.out.println("false");
  17. }
  18. }
  19. }

 运行结果:

小发现:

ystem.out.println()这个方法中println里面只能传一个参数或不传参数,如果想打印出多个参数,

1.需要自己定义一个新的、具有多个参数的println()方法再调用它,且需要保证实参和形参的类型、个数等相同

2.或者使用“+”将想输出的参数与字符串连接起来:println(String+" "+int+" "+...);

例如下面这行代码应该输出的内容为:“a、b、c(表示的数字)是否可以组成三角形?”

System.out.println(a+"、"+b+"、"+c+"是否可以组成三角形?\n");

但由于我最开始写的代码是:

System.out.println("%d、%d、%d是否可以组成三角形?\n",a,b,c);

所以在编译的时候出现了错误:

        错误: 对于println(String,int,int,int), 找不到合适的方法

3、编写一个Java Application程序,要求用户从键盘输入两个整型数据,求它们的商。

要求:用命令行传递参数的方法

实验代码:

  1. public class test{
  2. public static void main(String args[]){
  3. int a, b, c;
  4. a=Integer.parseInt(args[0]);
  5. b=Integer.parseInt(args[1]);
  6. c=a/b;
  7. System.out.println(a+"、"+b+"的商为:"+c);
  8. }
  9. }

主方法“public static void main(String args[])”中我们定义了一个字符串类型的数组args[]

要通过命令行传递参数,首先将主方法定义的数组中下标为0(即第一个)的元素经过类型转换后赋值给a,同样,将数组中下标为1(第二个)的元素经过类型转换后赋值给b

类型转换:Integer类中的常用方法parseInt,作用为将数字字符串转换为int数值

命令行传递参数:

在将.java文件编译成 .class文件后,在运行.class时,除了在命令行中输入"java test"命令之外,其后还要跟上a、b的取值,数字之间用空格隔开即可(例:a、b分别取4和3,则应在命令行中输入 java test 4 3)

运行结果:

如果不在运行时输入数值,则运行会出现java数组越界错误:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
        at test.main(test.java:4)

更多:

两个数据做除法运算时,可能会出现错误情况,例如:除数为0、输入的内容是非数值的字符等。

此时我们应该考虑给程序添加一个异常处理结构:try{}        catch{}

try{}中的内容为可能会出错的代码,catch{}中的内容为try{}中代码出错时的处理方式

例:

  1. public class test{
  2. public static void main(String args[]){
  3. try{
  4. int a, b, c;
  5. a=Integer.parseInt(args[0]);
  6. b=Integer.parseInt(args[1]);
  7. c=a/b;
  8. System.out.println(a+"、"+b+"的商为:"+c);
  9. }
  10. catch(ArithmeticException e){
  11. System.out.println("算术异常");
  12. //此处的算术异常只是其中一种,也有可能出现格式异常或其他异常情况
  13. }
  14. }
  15. }

应用:

4、补充练习

闰年是指年数能被4整除但不能被100整除,或者能被400整除的年份。编写一个程序,用于报告一个年份是否为闰年。该年份可以在程序中给定一个固定值,也可以由键盘输入。

提示:要判断一个整数是否能被另一个整数整除,可以用取模运算符(%)。例如,如果年数%4等于0,那么年数能被4整除。即,如果它除以4的余数为0,则年数能被4整除。

实验代码:

  1. import java.util.Scanner;
  2. public class isLeap{
  3. public static void main(String args[]){
  4. Scanner scanner = new Scanner(System.in);
  5. int year;
  6. System.out.println("请输入一个年份:");
  7. year=scanner.nextInt();
  8. if(year<=0){
  9. System.out.println("年份错误,无法判断!");
  10. }
  11. else{
  12. if((year%4==0&&year%100!=0)||year%400==0){
  13. System.out.println(year+"年是闰年");
  14. }
  15. else{
  16. System.out.println(year+"年不是闰年");
  17. }
  18. }
  19. }
  20. }

运行结果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/559000
推荐阅读
相关标签
  

闽ICP备14008679号