Java上机课的内容

Posted 昇陽特区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java上机课的内容相关的知识,希望对你有一定的参考价值。

  • 下载、安装、使用jdk 帮助文档

下载文档很简单,只需百度一下找到Google翻译版(英文版也可以)的jdk帮助文档就行了,下载完之后是一个.chm文件在电脑上可以直接打开的

具体使用方法,也是比较简单了,找到当前chm阅读器的查找功能,在需要查找的类目下输入类名就可以轻松查找,一般我们可以看到很多内容,比如这个Scanner类

 

 

简介还有实例都很详细,可以说帮助文档是非常重要的学习材料了.

  • 基本数据类型和表达式

题目   已知:a=21, b=5, c=5.0, d=5.2,编程计算下列表达式的值:

  a/b a%b a/c a%d

代码如下

package practise1;

public class data1 {
    public static void main(String[] args) {
        //观察所有数据发现不都是整数,为了省事就全用double好了
         double a = 21, b = 5, c = 5.0, d = 5.0;
         //直接输出计算结果
         System.out.println(a/b);
         System.out.println(a%b);
         System.out.println(a/c);
         System.out.println(a%d);
    }
}

/*
输出结果如下
4.2
1.0
4.2
1.0
*/
  • 控制语句

题目1:

求两个数的最大值,实验步骤如下

(1) 定义两个int型变量ab

(2) 通过键盘输入变量ab的值;

(3) if-else语句对两个整数进行比较,求出其中的最大值,并输出结果;

(4) 用条件运算符(? : )对两个整数进行比较,求出其中的最大值,并输出结果

 

package practise1;

import java.util.Scanner;

public class max_num {

    public static void main(String[] args) {
        int a, b;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入两个整数用空格隔开");
        a = sc.nextInt();
        b = sc.nextInt();
        sc.close();
//下面使用if-else进行比较并输出 if(a > b) { System.out.println("最大的数字是 "+a); } else { System.out.println("最大的数字是 "+a); } //下面就是使用第二种方法进行比较操作 System.out.println((a > b?a:b)); } } /* 输出结果 请输入两个整数用空格隔开 45 55 最大的数字是 45 55 */

 

题目2:

判断用户输入的正整数能否被9整除(n<1000),直到用户输入1为止。练习循环语句、breakcontinue语句。

实验步骤:

(1) 用循环语句循环读入正整数n

(2) 如果n=1,则中止循环的执行,否则继续;

(3) 如果n<0n>1000,则报告错误,并回到(1)重新读入n,否则继续;

(4) 判断n是否能被9整除,并输出判断结果

(5) 继续下一次循环

代码

 

package practise1;

import java.util.Scanner;

public class canDisabedBy9 {
    public static void main(String[] args) {
        int n;
        Scanner sc =  new Scanner(System.in);
        do {
            System.out.println("请输入一个大于0小于100得数来判断是否是9的倍数");
            n = sc.nextInt();
            if(n<0 | n>1000) {
                System.out.println("错误你输入的数字不在规定的范围内,请重试");
                continue;  //这里的方法就是当输入错误时直接开始下一个循环来实现重试
            }
            
            //检测到输入是1直接跳出循环
            if(n == 1) {
                break;
            }
            
            //经过前面的排除才进行9的整除判断
            if(n%9 == 0) {
                System.out.println("你输入的数是9的倍数");
            }
            else {
                System.out.println("很明显你输入的数字不是9的倍数");
            }
        }while(n != 1);
        sc.close();
        System.out.println("判断已经结束");
    }
}
/*
运行结果
请输入一个大于0小于100得数来判断是否是9的倍数
8
很明显你输入的数字不是9的倍数
请输入一个大于0小于100得数来判断是否是9的倍数
5
很明显你输入的数字不是9的倍数
请输入一个大于0小于100得数来判断是否是9的倍数
9
你输入的数是9的倍数
请输入一个大于0小于100得数来判断是否是9的倍数
9999
错误你输入的数字不在规定的范围内,请重试
请输入一个大于0小于100得数来判断是否是9的倍数
1
判断已经结束
*/

 

题目3:

定义一个方法,计算正方形的面积(假设正方形边长的值是正整数)。

实验目的

(1) 掌握如何定义方法。

(2) 掌握如何调用方法。

(3) 掌握形参和实参的按值传递关系。

(4) 学会如何在方法中返回值。

实验步骤

(1) 定义方法area计算正方形的面积;

(2) 在main方法中读入正方形的边长;

(3) 在main方法中调用方法area

(4) 在main方法中输出正方形面积的值。

 

代码如下 

package practise1;

import java.util.Scanner;

public class area1 {
    
    //定义一个计算面积的方法以便在主方法中调用
    public static int sqrAre(int width) {
        int area = width*width;
        return area;
    }
    
    //主方法中调用面积计算方法,并输出结果
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入正方形的边长");
        int i = sc.nextInt();
        sc.close();
        System.out.println("面积是 "+area1.sqrAre(i));
    }
/*
输出示例
请输入正方形的边长
666
面积是 443556
*/

题目4:

用递归的方法求n!(n≥0)。

实验目的

(1) 掌握递归方法的定义与使用。

(2) 熟悉递归的“递推”和“回归”过程。

(3) 掌握形参和实参的按值传递关系。

实验步骤

(1) 定义递归方法fac,计算整数n的阶乘;

(2) 在main方法中读入整数n的值;

(3) 在main方法中调用fac方法,求出整数n的阶乘;

(4) 在main方法中输出计算结果。

 

代码

 

package practise1;

import java.util.Scanner;

public class dg_jiecheng {
    //先定义我们的递归阶乘方法
    public static int jiecheng(int n) {
        if(n<0) {
            System.out.println("不好意思负数还真没有阶乘呢");
            return 0;
        }
        
        if(n==0) {
            return 1;
        }
        
        if(n>2) {
            n = n*dg_jiecheng.jiecheng(n-1);
            
        }
        return n;
    
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个正整数来计算他的阶乘");
        System.out.println("该数字的阶乘是 "+dg_jiecheng.jiecheng(sc.nextInt()));
        sc.close();
    }
}
/*
输出示例
请输入一个正整数来计算他的阶乘
4
该数字的阶乘是 24
请输入一个正整数来计算他的阶乘
-4
不好意思负数还真没有阶乘呢
该数字的阶乘是 0

*/

题目5:

用重载方法实现两个整数或两个浮点数的排序,按照从小到大的顺序将排序结果输出。

实验目的

(1) 掌握重载方法的定义与调用。

(2) 熟悉方法形参与实参的匹配和结合过程。

实验步骤

(1) 定义重载方法sort,给两个整数排序,方法中含有两个int 型参数,用于传递待排序的整数;

(2) 定义另一个重载方法sort,给两个浮点数排序,方法中含有两个double型参数,用于传递待排序的浮点数;

(3) 在main方法中定义两个int型变量并初始化;

(4) 在main方法中定义两个double类型变量并初始化;

(5) 在main方法中根据参数类型和个数的不同,调用不同的方法,从而实现重载。

 

代码 

package practise1;

public class chongzai {
    //既然没有要求顺序那我们就选从小倒大的顺序好了
    public static void sort(int a,int b) {
        if(a>b) {
            System.out.println("("+a+","+b+")");
        }
        else {
            System.out.println("("+b+","+a+")");
        }
    }
    
    public static void sort(double a, double b) {
        if(a>b) {
            System.out.println("("+a+","+b+")");
        }
        else {
            System.out.println("("+b+","+a+")");
        }
    }
    
    public static void main(String[] args) {
        int a = 10, b = 15;
        double c = 2.5, d = 5.5;
        //测试这里特意用了三种形式,来看看重载到底做了什么
        chongzai.sort(a, b);
        chongzai.sort(a, c);
        chongzai.sort(c, d);
    }
}
/*
运行结果
(15,10)
(10.0,2.5)
(5.5,2.5)
*/

 

以上是关于Java上机课的内容的主要内容,如果未能解决你的问题,请参考以下文章

Java上机实验报告

怎么才能最短时、高效、踏实的学习 Python?

Java语言程序设计 上机实验5 异常

上机题目(初级)- 数据库事务(Java)

片段(Java) | 机试题+算法思路+考点+代码解析 2023

Java语言程序设计 上机实验6 掌握Java的图形用户界面编程,掌握布局管理器和事件的响应方法