第一次Java作业
2018-12-09 12:04
190 查看
1.使用for循环打印乘法口诀表
[code]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!
[code]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
[code]//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"); } }
相关文章推荐
- Java 第一次作业
- C#第一次作业,C#或者java代码总行数、代码行数、代码空格行数、注释行数的统计
- java第一次作业(1)
- 软件工程第一次作业:java实现分析一个文本文件中各个词出现的频率,并输出频率最高的10个词
- [Java初学] 第一次作业 “回文数”判断 - 运用取余运算
- JAVA第一次作业 目标2
- Java第一次作业:源代码计算器 第二问
- java第一次作业
- 吉软-Java57-第一次作业
- [Java初学] 第一次作业 hello.java直接调用同根目录下的其他类 A.java 、B.java、C.java
- [Java初学] 第一次作业 - 将输入的四位数分开打印出来
- JAVA57_JAVA_第一次作业_孙明明
- 吉软-java57-第一次作业
- java 第一次作业目标2
- Java第一次作业(2)
- 第一次Java作业
- 吉软-java57-第一次作业
- 吉软-java57-第一次作业
- java第一次作业(4)
- Java第一次作业参考代码