Java实验报告(一)|基本语法及数组练习

题目一

1、编程实现:从键盘上输入10个整数,并按照从小到大的顺序输出。

代码:
方法一:

import java.util.Arrays;
import java.util.Scanner;
public class Test01 {
    public static void main(String[] args) {
        int[] list = new int[10];
        Scanner scanner =  new Scanner(System.in);
        for (int i = 0; i <list.length ; i++) {
            list[i]=scanner.nextInt();
        }
        Arrays.sort(list);
        for (int x:list
        ) {
            System.out.print(x+" ");
        }
    }
}

运行截图:
在这里插入图片描述
方法二:

import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;

public class mySort {
    public static void main(String[] args) {
        ArrayList<Integer> arrayList = new ArrayList<Integer>();
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入10个整数");
        for (int i = 0; i < 10; i++) {
            arrayList.add(scanner.nextInt());
        }
        Collections.sort(arrayList);
        System.out.println("排序结果为:");
        for (Integer arr : arrayList
        ) {
            System.out.print(arr + " ");
        }
    }
}

运行截图:
在这里插入图片描述

题目二

2、编程实现:从键盘上输入一个整数,并按这个数的倒叙输出。如从键盘上输入:4278,则输出:8724,从键盘上输入:12080,则输出8021。

代码:
方法一:

import java.util.Scanner;
public class Reverse {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int x = scanner.nextInt();
        int rev = 0;
        while (x > 0) {
            rev = rev * 10 + x % 10;
            x /= 10;
        }
        System.out.println(rev);
    }
}

方法二:

import java.util.Scanner;
public class reverse {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next().replaceAll("0+$", "");
        int x = Integer.parseInt(str);
        while (x > 0) {
            System.out.print(x % 10);
            x /= 10;
        }
    }
}

运行截图:
在这里插入图片描述
在这里插入图片描述

题目三

3、创建一个名为TestArray的类,在main方法中创建一个int类型的一维数组,数组的长度由键盘得到,数组中的元素也是由键盘得到,最后输出此数数组。

import java.util.Scanner;
public class TestArray {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入数组的长度");
        int[] list = new int[scanner.nextInt()];
        for (int i = 0; i < list.length; i++) {
            System.out.println("请输入第" + (i + 1) + "个元素");
            list[i] = scanner.nextInt();
        }
        System.out.print("输出结果为:");
        for (int x : list
        ) {
            System.out.print(x + " ");
        }
    }
}

运行截图:
在这里插入图片描述

题目四

4、创建一个名为TestMultiArray的类,用于分步创建二维数组,在main方法中创建一个int类型的二维数组,数组的行数由键盘得到,每行的列数也由键盘得到(每行可以有不同的列),每个元素也从键盘输入得到。

import java.util.Scanner;
public class TestMultiArray {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入二维数组的行数");
        int row = scanner.nextInt();
        int[][] multiArray = new int[row][];
        for (int i = 0; i <multiArray.length ; i++) {
            System.out.println("请输入二维数组第"+(i+1)+"行元素的个数");
            int number = scanner.nextInt();
            multiArray[i] = new int[number];
        }
        for (int i = 0; i < multiArray.length ; i++) {
            System.out.println("请输入第"+(i+1)+"行元素");
            for (int j= 0; j <multiArray[i].length ;j ++) {
                multiArray[i][j] = scanner.nextInt();
            }
        }
        System.out.println("二维数组为:");
        for (int i = 0; i < multiArray.length ; i++) {
            for (int j= 0; j <multiArray[i].length ;j ++) {

                System.out.print(multiArray[i][j]+" ");
            }
            System.out.println();
        }
    }
}

运行截图:
在这里插入图片描述

总结:
问题:
1、排序最先想到的是用for循环进行遍历排序,但是这样过于繁琐,直接用Arrays中的sort方法即可对数组中的元素进行排序,简化了操作。
2、反转数字最开始我没有考虑0在末尾的情况,直接用%来做,达不到理想的效果,输出结果中0还是会输出,最后采用用rev = rev*10 + x%10,解决了问题。
3、二维数组的动态创建,由于还未转变c的思想,而Java中的数组元素的行和列都可以手动指定,并且每一行的列数可以不一样,查阅课本后解决了二维数组动态创建的问题。
总结:
1、 使用别人造好的轮子效率更高。
2、 对面向对象语言有了初步的了解,如Scanner对象的创建。
3、 转变之前的思想,Java是面向对象的语言,在写代码时要以面向对象的思想去考虑问题。
4、 二维数组的动态创建,每行的列数可以不同。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
实验1 Java语言基础 4 一、实验目的 4 二、实验要求 4 三、实验内容 4 (一) 声明不同数据类型的变量 4 (二) 了解变量的使用范围 5 (三) 使用关系运算符和逻辑运算符 5 (四) 使用表达式语句与复合语句 6 (五) 使用选择语句 6 (六) 使用循环语句 8 实验2 面向对象编程 11 一、实验目的 11 二、实验要求 11 三、实验内容 11 (一)创建 Applet 应用小程序 11 (二)创建对象并使用对象 12 (三)编写显示当前日期和时间的程序 13 (四)使用修饰符 14 (五)方法中参数传递 15 (六)类的继承性 16 (七)类的多态性 18 实验3 包、接口与异常处理 22 一、实验目的 22 二、实验要求 22 三、实验内容 22 (一)了解并使用 Java 的系统包 22 (二)创建并使用自定义包 22 (三)使用接口技术 24 (四)了解异常处理机制 25 实验4 常用系统类的使用 27 一、实验目的 27 二、实验要求 27 三、实验内容 27 (一)了解 Applet 的生命周期 27 (二)使用数学函数类 28 (三)使用日期类 29 实验5 建立图形用户界面 32 一、实验目的 32 二、实验要求 32 三、实验内容 32 (一)创建图形用户界面 32 (二)了解事件处理机制 34 (三)建立独立运行的窗口界面并使用匿名类 36 (四)使用 Swing 组件 39 (五)使用自定义对话框与内部类 41 实验6 图形处理 44 一、实验目的 44 二、实验要求 44 三、实验内容 44 (一)使用图形类 Graphics 44 实验7图形处理(二) 47 一、实验目的 47 二、实验要求 47 三、实验内容 47 (一)幻灯机效果——连续显示多幅图像 47 (二)使用滚动条改变背景颜色 48 (三)Applet 与 Application 合并运行 49 (四)创建电闪雷鸣的动画 50 实验8 流与文件 53 一、实验目的 53 二、实验要求 53 三、实验内容 53 (一)使用标准数据流的应用程序 53 (二)使用文件输入输出流的应用程序 54 (三)使用随机文件类的应用程序 54 (四)使用数据输入输出流与文件输入输出流类的应用程序 55 (五)使用对象输入输出流的应用程序 56 实验9 线程 58 一、实验目的 58 二、实验要求 58 三、实验内容 58 (一)Thread子类的方法实现多线程 58 (二)实现Runnable接口的方法实现多线程 59 实验10 数据库的连接:JDBC 61 一、实验目的 61 二、实验要求 61 三、实验内容 61 (一)配置ODBC数据源 61 (二)编写程序,按照下表的结构建立"student"表 61 (三)编写程序,完成填写功能 62 (四)编写程序,完成查询功能 62
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值