java学习日志(二)

    xiaoxiao2021-03-25  61

    1.编写程序:输出200以内所有奇数,并要求每行输出10个数。

    public class OddNumber { public static void main(String[] args){ int g=0; for (int i=1;i<=200;i+=2){ System.out.print(i+"\t");g++; if (g==0) { System.out.println(); } } } }

    2.输出下三角形形状的九九乘法表。

    public class Experiment_1_Multiplication { public static void main(String[] args) { int t=1; System.out.println("九九成法表为:"); for(int i=1;i<10;i++,t++){ for(int j=1;j<=i;j++){ int product=i*j; System.out.print(j+"*"+i+"="+product+"\t"); if(j==t){ //如果J自增后与t相等,则换行 System.out.println();} } } } }

    3.输入字母打印正三角形。

    import java.util.*; public class Experiment_1_Triangle { public static void main(String[] args) { System.out.println("请输入三角形的行数:"); Scanner input = new Scanner(System.in); int n = input.nextInt(); for (int i=1;i<=n;i++) //控制行 { for (int j=n-i;j>=0;j--) //控制空格的数量,每行空格的数量等于行数减去此行的字母数字 { System.out.print(" "); } for (int k=1;k<=2*i-1;k++) //控制字母的数量 { System.out.print((char)('A'+i-1)); //输出字母 //System.out.print((char)(64+i)); //与上行功能相同 } System.out.println(); } } }

    4.输入一个五位整数求各位之和。

    import java.util.Scanner; public class AddDigit { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("请输入一个五位整数:"); int i = in.nextInt(); int sum = 0; if (i < 10000 || i > 99999) { System.out.println("输入有误!"); } else { for (int j = 0; j < 5 ; j++ ) { sum += i % 10; i = i / 10; } System.out.println("该五位整数各位数上之和为sum=" + sum ); } System.out.print("请输入一个五位整数:"); int n = in.nextInt(); int m = 0; for (int k = 10000 ; k > 0 ; k /= 10 ) { m += n / k ; n %= k; } System.out.println("该五位整数各位数上之和为:" + m); System.out.print("请输入一个整数:"); int j = in.nextInt(); int s = 0; while(j != 0) { s += j % 10; j = j / 10; } System.out.println("该整数各位数上之和为s=" + s ); } }

    5.猜数游戏。

    import java.lang.Math; import java.util.Scanner; //import java.util.Random; public class Experiment_1_GuessNumber { public static void main(String[] args) { //方法一: int x=1+(int)(Math.random()*99); //产生一个1-100之间的随机整数,Math.random() 产生一个[0,1)之间的随机数 //方法二: /*Random rand = new Random(); int x = rand.nextInt(100);*/ //产生一个100以内的整数 System.out.println("请输入一个1-100之间的整数:"); Scanner input1 = new Scanner(System.in); int n=input1.nextInt(); int count=0; if (1<=n&&n<=100) { do { if (n>x) { System.out.println("不正确!您输入的数字过大!"); } else { System.out.println("不正确!您输入的数字过小!"); } System.out.println("请重新输入一个整数:"); Scanner input2 = new Scanner(System.in); int m=input2.nextInt(); count++; n=m; } while (n!=x); System.out.println("正确!"+count+"次"); } else System.out.println("您输入的数字不正确!"); } }

    6.冒泡排序。

    a.)  比较相邻的元素。如果第一个比第二个大,就交换他们两个。

    b.)  对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

    c.)  针对所有的元素重复以上的步骤,除了最后一个。

    d.)  持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

    import java.util.*; public class Experiment_1_BubbleSort { public static void main(String[] args) { int a[]={3,6,9,8,5,2,1,4,7}; int size=a.length; int temp=0; System.out.println("排序前的数组为:"+Arrays.toString(a)); for(int i=0;i<size-1;i++){ for(int j=0;j<size-1-i;j++){ if(a[j]>a[j+1]){ temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } System.out.println("冒泡排序后的数组为:"+Arrays.toString(a)); } }

    7.选择排序。

    a.)  在未排序序列中找到最小元素,存放到排序序列的起始位置。

    b.)  再从剩余未排序元素中继续寻找最小元素,然后放到序列的第二位 。

    c.)  以此类推,直到所有元素均排序完毕。 

    import java.util.*; public class Experiment_1_SimpleSelectSort { public static void main(String[] args) { int a[]={3,6,9,8,5,2,1,4,7}; int temp=0; //定义一个中间变量 int size=a.length; System.out.println("排序前的数组为:"+Arrays.toString(a)); for(int i=0;i<size-1;i++){ int k=i; //记录下当前最小元素的位置 for(int j=i+1;j<size;j++){ //向右查找更小元素的位置 if(a[j]<a[k]) // 修改当前最小元素的位置 { k=j; } if(k!=i) //如果第i次选到的最小元素位置k不等于i,则将第i,k个元素交换 { temp = a[i]; a[i] = a[k]; a[k] = temp; } } } System.out.println("简单选择排序后的数组为:"); for(int i=0;i<a.length;i++){ System.out.print(a[i]+" "); } //System.out.println("简单选择排序后的数组为:"+Arrays.toString(a)); } }

    转载请注明原文地址: https://ju.6miu.com/read-35663.html

    最新回复(0)