第一次Java作业

1.使用for循环打印乘法口诀表 

public class Test
{
 
    public static void main(String[] args)
    {
        
    myprint();
    }

    public static void myprint()
    {
        int k=0;
        for(int i=1;i<10;i++)
        {
            for(int j=1;j<=i;j++)
            {
                k=j;//k为这一行要打印的列
                System.out.print(i+"*"+j+"="+(i*j)+" \t");//按 1*1=1 的格式打印
            }
            if(k>=i)//这一行打印完毕
            {
                 System.out.print("\n");
            }
        }
    }
}

 

 

 

2.递归实现20! 

 

public class Factorial
{
 
    public static void main(String[] args)
    {
        System.out.println(factorial(20));
        System.out.println(factorial(0));
        System.out.println(factorial(-2));
    }

    public static long factorial(int n)
    {
        if(n>=0)
        {
        if(n<=1)
        {
            return 1L;//0的阶乘为 1
        }
        else
        {
            return n*factorial(n-1);// 数据类型为long 因为是n*(n-1)! ------> n*(n-1)*.....*1L;
        }
        }
        else
        {
            return -1;
        }
    }
}

 

 

 

3.完成ArrayUtils.java 

//Java数组章节练习题
public class ArrayUtils
{
 
    public static void main(String[] args)
    {
        int max=0;
        int min=0;
        int sum=0;

        int []data1=new int[]{1,2,3,4,5,6};
        int []data2=new int[]{7,8,9,10,11,12};
        int []a=new int[]{1,3,5,7,9};
        int []b=null;
        b=arraySub(a,1,3);
        a=arraySub(a,1,3);
        int []data3=arrayJoin(data1,data2);

        max=arrayMaxElement(data1);
        min=arrayMinElement(data1);
        sum=arrayElementSum(data1);
         System.out.println(max+"\n");
         System.out.println(min+"\n");
         System.out.println(sum+"\n");
         printArray(data1);
         printArray(data3);
         printReversal(data1);
         printArray(b);
         printArray(a);

    }
     //1.计算数组中最大值
     //遍历max和数组元素依次比较
     public static int arrayMaxElement(int[] data)
     {
        int max=data[0];
          for(int i=0;i<data.length;i++)
        {
            if(data[i]>=max)
            {
            max=data[i];
            }

        }
        return max;
    }
    //2.计算数组中最小值
    //遍历min和数组元素依次比较
    public static int arrayMinElement(int[] data)
    {
        int min=data[0];
        for(int i=0;i<data.length;i++)
        {
            if(min>=data[i])
            {
                min=data[i];
            }
        }
        return min;
    }

    //3.计算数组值之和
    public static int arrayElementSum(int[] data)
    {
        int sum=0; 
        for(int i=0;i<data.length;i++)
        {
            sum+=data[i];
        }
        return sum;
    }

     //4.数组拼接
    // A {1,3,5,7,9} B {2,4,6,8,10} -> {1,3,5,7,9,2,4,6,8,10}
      public static int[] arrayJoin(int[] a, int[] b)
    {
        int length=a.length+b.length;
        int []dataJoin=new int[length];
        int i=0;
        int j=a.length;
        int k=0;
        /**for(int i=0;i<a.length;i++)//for循环方式
        {
          dataJoin[i]=a[i];
        }
         for(int i=0;i<b.length;i++)
        {
          dataJoin[i+b.length]=b[i];
        }
         */
        while(i<a.length&&j<length&&k<b.length)//while循环
        {
            dataJoin[i]=a[i];
            i++;
            dataJoin[j++]=b[k++];
        }

        return dataJoin;
    }
    
    


    //5.数组截取
    //[start, end)
    // A {1,3,5,7,9} ->(A,1,3) > {3,5}
     public static int[] arraySub(int[] data, int start , int end)
     {
     int length=end-start;//新数组的大小
     int []dataSub=new int[length];
     int i=0;//新数组首元素
     int j=start;//要截取的开始元素
     while(i<length&&j<end)
     {
         dataSub[i++]=data[j++];
     }
     return dataSub;
     }
     
     
       //6.数组打印
     public static void printArray(int []temp)
     {
     for(int i=0;i<temp.length;i++)
      {
           System.out.println(temp[i]);
      }
           System.out.print("\n");
     }
     
     

      //7.数组反转
    // 比如:[1,2,3,4] => [4,3,2,1]
    //第一种方法是逆序打印,但不改变数组内容
    //第二种方法是将内容逆序,改变原数组
     public static void printReversal(int[] data){
       //第二种方法
        for(int i=0;i<=data.length/2;i++)
       {
           data[i]=data[i]^data[data.length-i-1];
           data[data.length-i-1]=data[i]^data[data.length-i-1];
           data[i]=data[i]^data[data.length-i-1];
       }
       //打印数组
       for(int i=0;i<data.length;i++)
      {
           System.out.println(data[i]);
      }
       System.out.print("\n");
    }  
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
信息数据从传统到当代,是一直在变革当,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容越多,也需要更多的人来对数据进行整理,并且数据的汇总查询方面效率也是极其的低下,并且数据安全方面永远不会保证安全性能。结合数据内容管理的种种缺点,在互联网时代都可以得到有效的补充。结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。本次开发的医院后台管理系统实现了病房管理、病例管理、处方管理、字典管理、公告信息管理、患者管理、药品管理、医生管理、预约医生管理、住院管理、管理员管理等功能。系统用到了关系型数据库王者MySql作为系统的数据库,有效的对数据进行安全的存储,有效的备份,对数据可靠性方面得到了保证。并且程序也具备程序需求的所有功能,使得操作性还是安全性都大大提高,让医院后台管理系统更能从理念走到现实,确确实实的让人们提升信息处理效率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值