• Java语言程序设计 上机实验2 掌握Java的基本语言成分和流程控制语句。 掌握Java中数组的使用,理解引用数据类型。 掌握String类的使用。


     

    Java语言程序设计 上机实验2

    实验目的

    1. 掌握Java的基本语言成分和流程控制语句。
    2. 掌握Java中数组的使用,理解引用数据类型。
    3. 掌握String类的使用。

    实验内容:

    注:标(*)为选做内容

    1. 将一个十进制的数字(0~9)字符串转换成对应的整数类型值,如”12345”。
    2. 实现一个成员方法,以两个已排序的数组为参数,将其合并成一个新数组,并返回新数组。比如将{1,3,5,7}{2,4,6,8}合并成{1,2,3,4,5,6,7,8}
    3. 采用递归算法反转字符串,比如将str=”12345”作为参数输入给一个静态递归方法后,返回”54321”。(其中str.isEmpty()方法可以判断str字符串是否为空,返回布尔值)。
    4. 输出下列方阵:(n = 4)

    1        2        6        7

    3        5        8        13

    4        9        12      14

    10      11      15      16

    1. (*) 输出400以内的Smith数。Smith数是指满足下列条件的可分解的整数:

    其所有数位上的数字和等于其全部素数因子的各位上的数字总和。

    例如:9975Smith数,9975=3*5*5*7*19,即9+9+7+5=3+5+5+7+1+9=30.

    1. (*) 用递归方法求n个数字(比如数组{1,2,3,4,5})的无重复全排列,并在程序中计数全排列的个数。

    实验要求:

    1. 在实验报告中给出程序运行结果截图。

    2. 源程序代码附到实验报告的最后。

    3. 认真填写实验报告并妥善存档,在上机实验课之前发送电子版实验报告至 wsycup@foxmail.com

    注意邮件标题附件实验报告文件名均为:

    Java1实验报告N_学号_姓名

    其中N阿拉伯数字,指第几次实验,例如

    Java1实验报告1_ 2012010400_李雷

    请严格按照规定的格式发送邮件(注意标题中Java”后的数字“1”),否则邮件较多时可能导致混乱而被忽略,并在规定的时间发送实验报告邮件,过期无效。

    4. 实验报告雷同者将不能得到相应的平时分。

    附录:实验报告

    实验题目_____java实验报告二_____

    学号__2014011329__    姓名__许恺_____     班级____计算机14-1_____     时间____2016.3.18____

    实验题目解答

    :源程序

    1.

    1.
    package com.Test1;
    
    public class Test1 {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            String s1="213131";
            int i,num=0,j;
            boolean ju=true;        //判断能否输出
            for(i=s1.length()-1,j=1;i>=0;i--,j=j*10){
                num=num+(s1.charAt(i)-48)*j;        //将字符从后往前转换为整型
                if(s1.charAt(0)=='0'){        //判断首位是否为0
                    System.out.println("首位为0,有误");
                    ju=false;
                }    
            }
            if(ju==true)
                System.out.println(num);
        }
    }
    
    2.
    package com.Test2;
    import java.util.Arrays;
    public class Test2 {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int a[]=new int[]{1,3,5,7};
            int b[]=new int[]{2,4,6,8};
            int d[]=new int[a.length+b.length];
            d=add(a,b);    
            for(int i=0;i<d.length ;i++)        //输出最终数组        
            System.out.print(d[i]);
        }
        public static int[] add(int[] a,int b[]){    //静态数组不用新建对象
            int c[]=new int[a.length+b.length];
            int i,j=0;
            for(i=0;i<a.length;i++){        //连接两个数组
                c[i]=a[i];
            }
            for(;j<b.length;j++,i++){
                c[i]=b[j];
            }
            Arrays.sort(c);            //排序连接后的数组
            return c;
        }
    }
    
    
    
    3.
    package com.Test3;
    
    public class Test3 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            String str="12345";
            if(str.isEmpty()){
                System.out.println("字符串为空,有误");
            }
            else{
                System.out.println(transform(str));
            }
        }
        public static String transform(String str){
            char ch;
            ch=str.charAt(0);        //剥离首字符
            if(1==str.length()){    //到最后一个时返回
                return str;
            }
            else{
                str=transform(str.substring(1,str.length()));    //递归,把下一级的值赋给上一级
                str=str+ch;        //倒转
            }
            return str;
        }
    }
    
    4.
    package com.emp;
    
    public class emp {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            int a[][]=new int[4][4];
            int i=0,j=0,n=1;
            while(i!=3||j!=3){
                if(i==0&&j==0){
                    a[i][j]=n;
                    n++;j++;
                }
                else{
                    if(j==3){
                        a[i][j]=n;n++;
                        while(i!=3){
                            i++;j--;a[i][j]=n;n++;
                        }
                        j++;
                    }
                    else if(i==3){
                        a[i][j]=n;
                        n++;
                        while(j!=3){
                            i--;j++;a[i][j]=n;n++;
                        }
                        i++;
                    }
                    else if(i==0){
                        a[i][j]=n;n++;
                        while(j!=0){
                            i++;j--;a[i][j]=n;n++;
                        }
                        i++;
                    } 
                    else if(j==0){
                        a[i][j]=n;
                        n++;
                        while(i!=0){
                            i--;j++;a[i][j]=n;n++;
                        }
                        j++;
                    }
                }
            }
            a[3][3]=16;
            for(i=0;i<4;i++){
                for(j=0;j<4;j++){
                    if(a[i][j]>9)
                    System.out.print(a[i][j]+"  ");
                    else
                        System.out.print(a[i][j]+"   ");
                }
                System.out.println();
            }
        }
    
    }

  • 相关阅读:
    前端页面适配的rem换算
    Win10远程桌面 出现 身份验证错误,要求的函数不受支持,这可能是由于CredSSP加密Oracle修正 解决方法
    ES5, ES6, ES2016, ES.Next: What's going on with JavaScript versioning?
    国内的Android SDK镜像
    虚拟串口VSPD破解版 亲测win10 64可用
    Mybatis : "less than" issue in Select annotations
    如何在MyBatis中优雅的使用枚举
    Adding a custom jar as a maven dependency
    Error: Invalid or corrupt jarfile
    使用Json让Java和C#沟通的方法
  • 原文地址:https://www.cnblogs.com/xukaiae86/p/6439606.html
Copyright © 2020-2023  润新知