初学Java必会的30个小例子

1.利用if语句实现判断成绩分数对应的区间

(1)60以下不及格(2)60-70及格(3)中等(4)良好(5)优秀(6)满分

import java.util.Scanner;
public class score{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.println("请输入你的成绩:");
        int score = input.nextInt();
        if(score >= 0 && score < 60){
            System.out.println("你的成绩不及格!!!");
        }else if(score >= 60 && score < 70){
            System.out.println("你的成绩及格!!!");
        }else if(score >= 60 && score < 70){
            System.out.println("你的成绩中等!!!");
        }else if(score >= 60 && score < 70){
            System.out.println("你的成绩良好!!!");
        }else if(score >= 60 && score < 70){
            System.out.println("你的成绩优秀!!!");
        }else if(score == 100){
            System.out.println("你的成绩是满分!!!");
        }else{
            System.out.println("你的成绩输入有误!!!");
        }
    }


2.利用if实现一个随机摇骰子的小游戏,如猜大小。
//获取一个随机数Math.random();-->玩家输入一个1-6的数Scanner input = new Scanner(System.in);  int nume = input.nextInt(); 

import java.util.Scanner;//导包
public class duyi{
    public static void main(String[] args){
        double value = Math.random();//获取一个[0.0~1.0)的随机数
        int number = (int)(value*6+1);//将随机数强制转化成int类型的[1~6]
        Scanner input = new Scanner(System.in);
        System.out.println("猜大猜小,买定离手~~~");
        String choose = input.nextLine();//读取输入的文字
        System.out.println("本次摇出的点数为:"+number);
        if((number<=3 && choose.equals("小")) || (number>3 && choose.equals("大"))){
            System.out.println("恭喜你,猜对了!!!");
        }else{
            System.out.println("猜错了!!!");
        }
    }
}

3.利用switch语句实现一个判断对应学生成绩的区间
//不及格   60~70及格  70~80 中等  80~90 良好  90~100优秀  100满分
import java.util.Scanner;
public class duyi{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.println("请输入你的成绩:");
        int score = input.nextInt();
        switch(score/10){
            case 0:
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("成绩不及格!!!");
                break;
            case 6:
                System.out.println("成绩及格!!!");
                break;
            case 7:
                System.out.println("成绩中等吧!!!");
                break;
            case 8:
                System.out.println("成绩良好吧!!!");
                break;
            case 9:
                System.out.println("成绩优秀啊!!!");
                break;
            case 10:
                if(score == 100){
                                                                    System.out.println("成绩满分啦!!!");
                    break;
                }
                
            default:
                System.out.println("输入有误!!!");
                break;
        }
    }
}

4、为小明制定一个学习计划(switch实现)
//1、3、5学习语文     2、4、6学习数学   7休息
import java.util.Scanner;
public class duyi{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.println("今天是星期几:(请输入阿拉伯数字)");
        int week = input.nextInt();
        switch(week){
            case 1:
            case 3:
            case 5:
                System.out.println("今天学习语文!!!");
                break;
            case 2:
            case 4:
            case 6:
                System.out.println("今天学习数学!!!");
                break;
            case 7:
                System.out.println("今天就好好休息吧!!!");
                break;
            default:
                System.out.println("输入有误!!!");
                break;
        }
    }
}

5、操场上有一百多人排队,(1)三个人一组,多一个(2)四个人一组,多两个(3)五个人一组,多两个(for循环)
public class duyi{
public static void main(String[] args){
    for(int x = 100; x <  200; x++){
        if(x%3 == 1 && x%4 == 2 && x%5 == 2){
            System.out.println("操场上一共有:"+x+"人");
            }
        }
    }    
}

6、甲乙丙丁四人加工零件加工的零件总数为370个
//如果甲加工的零件数多10
//如果乙加工的零件数少20
//如果丙加工的零件书乘以2
//如果丁加工的零件数除以2
//则四个人加工的零件数就相等了
//求四个人加工的零件个数分别是多少?

public class duyi{
    public static void main(String[] args){
        for(int x = 1;x < 370;x++){             //可以思考可优化的项
            if((x - 10)+(x+20)+(x/2)+(x*2)==370){
                System.out.println("甲加工的零件个数为:"+(x-10)+"个");
                System.out.println("乙加工的零件个数为:"+(x+20)+"个");
                System.out.println("丙加工的零件个数为:"+(x/2)+"个");
                System.out.println("丁加工的零件个数为:"+(x*2)+"个");
            }
        }
    }
}

7、鸡兔同笼问题
//鸡兔关在同一个笼子里    小鸡(两只脚) 小兔子(四只脚)
//小鸡+小兔子 总共50只  脚的总数是160只 
//求鸡和兔子的个数分别是多少?
//设有x只鸡
//2x+4(50-x)=160

public class duyi{
    public static void main(String[] args){
        for(int x =1;x < 50;x++){
            if(2*x+(50 - x)*4 ==160){
                System.out.println("小鸡的个数是:"+x);
                System.out.println("小兔子的个数为:"+(50-x));
            }
        }
    }
}

8、通过循环找三位数字的水仙花数
//如1   5    3      1+125+27=153

public class duyi{
    public static void main(String[] args){
        for(int num=100;num<999;num++){
            int a = num/100;
            int b = num/10%10;
            int c = num%10;
        if(a*a*a + b*b*b + c*c*c == num){
            System.out.println(num+"是水仙花数");
            }
        }
    }
}
//优化1
public class duyi{
    public static void main(String[] args){
        //double vale = Math.pow(double a , double b);计算a的b次方
        for(int num=100;num<999;num++){
            int a = num/100;
            int b = num/10%10;
            int c = num%10;
        if(Math.pow(a,3) + Math.pow(b,3) + Math.pow(c,3) == num){
            System.out.println(num+"是水仙花数");
            }
        }
    }
}
//优化2
public class duyi{
    public static void main(String[] args){
        //double vale = Math.pow(double a , double b);计算a的b次方
        for(int num=100;num<999;num++){
        if(Math.pow(num/100,3) + Math.pow(num/10%10,3) + Math.pow(num%10,3) == num){
            System.out.println(num+"是水仙花数");
            }
        }
    }
}

9、//控制台输出以下情况的4行*号
//*
//**
//***
//****

public class duyi{
    public static void main(String[] args){
            for(int i = 1;i<=4;i++){
                for(int j = 1;j<=i;j++){
                    System.out.print("*");
                }
            System.out.println();
            }
        }
    }

10、控制台输出一下输入的小x行*号,如下
//*
//**
//***
//****

//...............
import java.util.Scanner;
public class duyi{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.println("请输入行数:");
        int count = input.nextInt();
            for(int i = 1;i<=count;i++){
                for(int j = 1;j<=i;j++){
                    System.out.print("*");
            }
            System.out.println();
        }
    }
}
11、控制台输出4行如图   $$$*    i==1    3  1
//                                    $$**    i==2    2  2
//                                    $***    i==3    1  3
//                                    ****    i==4    0  4

public class duyi{
    public static void main(String[] args){
        for(int i = 1;i <= 4;i++){
            for(int j =1;j<=4-i;j++){
                System.out.print("$");
            }
            for(int j =1;j<=i;j++){
                System.out.print("*");
            }
        System.out.println();
        }
    }
}

12、//控制台输出如下形状                             
//        *******         
//        ***#***       
//        **###**     
//        *#####*
    
public class duyi{
    public static void main(String[] args){
        for(int i = 1;i <= 4;i++){
            if(i==1){
            System.out.print("*******");
            }else{
                for(int j = 1;j<=5-i;j++){
                    System.out.print("*");
            }
                for(int j = 1;j<=2*i-3;j++){
                    System.out.print("#");
                }
                for(int j = 1;j<=5-i;j++){
                    System.out.print("*");
                }
            }
        System.out.println();
        }
    }
}

13、//控制台输出一下样式
//             1             
//           121            
//         12321          
//       1234321         

public class duyi{
    public static void main(String[] args){
        for(int i = 1;i<=4;i++){
            for(int j = 1;j<=4-i;j++){           //空格
                System.out.print(" ");
            }
            for(int j =1;j<=i;j++){
                System.out.print(j);
            }
            for(int j=i-1;j>=1;j--){
                System.out.print(j);
            }
            System.out.println();
        }
    }
}

14、for循环输出九九乘法表
public class duyi{
    public static void main(String[] args){
        for(int i = 1; i<=9;i++){
            for(int j = 1;j <=i;j++){
                System.out.print(j+"*"+i+"="+(j*i)+"\t");
            }
            System.out.println();
        }
    }
}

15、输出2—100之间的素数
public class duyi{
    public static void main(String[] args){
        for(int num = 2;num<=100;num++){
            boolean b = false;
            for(int i =2;i<=num/2;i++){
                if(num%i==0){
                    b = true;
                    break;
                }
            }
            if(!b){
                System.out.println(num +"是素数");
            }
        }
    }
}

16、请解下面一个应用题

//有一个水池   已经盛满了120立方米的水
//       有一个进水管   每小时进水18立方米
//       有一个排水管   每小时排水30立方米
//       经过多少小时 水池的水排放干净?

public class duyi{
    public static void main(String[] args){
        int sum = 120;
        int hour = 0;
        while(sum>0){
            sum+=18;
            sum-=30;
            hour++;
        }
        System.out.println("需要"+hour+"小时");    
    }
}

17、控制台输出下面的形状
//                    *       i==1    3    1
//                  ***      i==2    2    3
//                *****     i==3    1    5
//              *******    i==4    0    7

public class duyi{
    public static void main(String[] args){
        int i = 1;
        while(i<=4){
            //画空格占位
            int j = 1;
            while(j<=4-i){
                System.out.print(" ");
                j++;
            }
            //画星星
            int k = 1;
            while(k<=2*i-1){
                System.out.print("*");
                k++;
            }
            //换行
            System.out.println();
            i++;
        }
    }
}

18、请解下面一个应用题

//小茗同学从A点以7km/h的速度向B点出发
//                 哥哥从B点以18km/h的速度向A点出发
//       A和B之间的距离是1000km
//       求解 小茗同学和哥哥 经过多少个小时才能相遇?

public class duyi{
    public static void main(String[] args){
        int num = 0;
        int hour = 0;
        while(num<1000){
            num+=7;
            num+=18;
            hour++;
        }
        System.out.println("小茗同学和哥哥经过"+hour+"个小时才能相遇");
    }
}

19、请解下面一个应用题

//       有一个瓜农卖西瓜  一车西瓜总共1020个
//       每天卖掉总数的一半 多两个
//       求解瓜农几天才能把所有的西瓜都卖完?

public class duyi{
    public static void main(String[] args){
        int sum=1020;
        int hour=0;
        while(sum>0){
            sum/=2;
            sum-=2;
            hour++;
        }
        System.out.println("瓜农"+hour+"天能把所有的西瓜都卖完");
    }
}

=====================================================

//关于数组(很重要很重要很重要)

20、创建一个数组   用来存储1-100之间的偶数,并输出
public class duyi{
    public static void main(String[] args){
        int[] array = new int[50];//创建一个数组
        for(int i=0;i<array.length;i++){//将偶数存入数组
            array[i] = 2*i +2;
        }
        for(int v:array){
            System.out.println(v);
        }
    }
}

21、创建一个数组用来存储1-100之间的奇数,并输出
public class duyi{
    public static void main(String[] args){
        int[] array = new int[50];
        for(int i=0;i<array.length;i++){
                array[i]=2*i+1;
        }
        for(int v:array){
            System.out.println(v);
        }
    }
}

22、给定两个数组a{1,2,3,4}  b{5,6,7,8} 将两个数组内的元素对应位置互换
//方法一

public class duyi{
    public static void main(String[] args){
        int[] a = {1,2,3,4};
        int[] b = {5,6,7,8};
        for(int i =0;i<a.length;i++){
            int x= a[i];
            a[i]= b[i];
            b[i]=x;
        }
        for(int v:a){
            System.out.println(v);
        }
        for(int v:b){
            System.out.println(v);
        }
    }
}

//方法二
public class duyi{
    public static void main(String[] args){
        int[] a = {1,2,3,4};
        int[] b = {5,6,7,8};    
        int[] temp =a; //temp临时的
        a = b;
        b = temp;
        for(int v:a){
            System.out.println(v);
        }
        for(int v:b){
            System.out.println(v);
        }
    }
}

23、给定一个数组a{1,2,3,4,5,6} 将这个数组中的元素头尾对应互换位置
public class duyi{
    public static void main(String[] args){
        int[] a = {1,2,3,4,5,6};
        for(int i =0;i<a.length/2;i++){
            int x = a[i];
            a[i] = a[(a.length-1)-i];
            a[(a.length-1)-i] = x;
        }
        for(int v:a){
            System.out.println(v);
        }
    }
}

24、给定一个数组a{1,2,3,4,5,6} 计算数组所有元素的平均值
public class duyi{
    public static void main(String[] args){
        int[] a={1,2,3,4,5,6} ;
        double sum = 0.0;
        for(int i = 0;i<a.length;i++){
            sum+=a[i];
        }
        double avg = sum/a.length;
        System.out.println(avg);
    }
}

25、给定一个数组a{1,3,5,7,9,0,2,4,6,8} 找寻数组中的最大值和最小值(极值问题)
public class duyi{
    public static void main(String[] args){
        int[] a={1,3,5,7,9,0,2,4,6,8};
        int max = a[0];
        int min = a[0];
        for(int i=1;i<a.length;i++){
            if(a[i]>max){
                max =a[i];
            }
            if(a[i]<min){
                min = a[i];
            }
        }
        System.out.println("最大值为:"+max);
        System.out.println("最小值为:"+min);
    }
}

26、给定两个数组a{1,2,3}  b{4,5} 合并两个数组 (创建一个新的数组5长度)

public class duyi{
    public static void main(String[] args){
        int[] a={1,2,3};
        int[] b={4,5};
        int[] c =new int[a.length+b.length];//只有长度 元素默认值0
        for(int i = 0;i<c.length;i++){
            if(i<a.length){
                c[i] = a[i];
            }else{
                c[i] = b[i-a.length];
            }
        }
        for(int v:c){
        System.out.println(v);
        }
    }
}

27、给定一个数组a{1,2,3,9,4,5} 按照数组中的最大值位置 将数组拆分成两个{1,2,3} {4,5}
public class duyi{
    public static void main(String[] args){
        int[] a={1,2,3,9,4,5};
        int max = a[0];
        int index = 0;
        for(int i = 1;i<a.length;i++){
            if(max<a[i]){
                max = a[i];
                index = i;
            }
        }
        System.out.println("最大值为:"+max);
        System.out.println("最大值位置:"+index);
        int[] newa = new int[index];
        int[] newb = new int[a.length-index-1];
        for(int i = 0;i<newa.length;i++){
            newa[i]= a[i];
        }
        for(int i=0;i<newb.length;i++){
            newb[i] = a[(index+1)+i];    
        }
        for(int v:newa){
            System.out.println(v);
        }
        System.out.println("------");
        for(int v:newb){
            System.out.println(v);
        }
    
    }
}

28、给定一个数组a{1,2,3,0,0,4,5,0,6,0,7} 去掉数组中的0元素
// (创建一个新数组 非零元素挑出来)

public class duyi{
    public static void main(String[] args){
        int[] oldArray = {1,2,3,0,0,4,5,0,6,0,7};
        int count = 0;
        for(int i = 0;i<oldArray.length;i++){
            if(oldArray[i] !=0){
                count++;
            }
        }
        System.out.println("原数组非零元素的个数:"+count);

        int[] newArray = new int[count];
        int index = 0;
        for(int i =0;i<oldArray.length;i++){
            if(oldArray[i] !=0){
                newArray[index] = oldArray[i];
                index++;
                //或者newArray[index++] = oldArray[i];
            }
        }
        for(int v:newArray){
            System.out.println(v);
            }
    }
}

29、创建一个数组 存储2-100之间的素数(质数)
public class duyi{
    public static void main(String[] args){
        int count = 0;
        for(int i=2;i<100;i++){
            boolean b = false;
            for(int j=2;j<=i/2;j++){
                if(i%j==0){
                    b=true;
                    break;
                }
            }
            if(!b){
                count++;
            }
        }
        System.out.println("素数的个数为:"+count);
        int[] primeNumber = new  int[count];
        int index=0;
        for(int i=2;i<100;i++){
            boolean b = false;
            
            for(int j=2;j<=i/2;j++){
                if(i%j==0){
                    b=true;
                    break;
                }
            }
            if(!b){
                primeNumber[index++]=i;
            }
        }
        for(int v:primeNumber){
            System.out.println(v);
        }
    }
}

30、数组元素的冒泡 排序,括号里的也应都是该会的(选择 插入 快速 希尔 堆排序 桶排序 归并排序 递归.....)
public class duyi{
    public static void main(String[] args){
        int[] array={1,5,4,6,9,8,2,3,7};
        for(int i = 1;i<array.length;i++){
            for(int j = array.length-1;j>=i;j--){
                if(array[j]<array[j-1]){//升序    array[j]>array[j-1]降序 
                    int temp = array[j];
                    array[j] = array[j-1];
                    array[j-1] = temp;
                }    
            }
        }
    for(int value:array){
        System.out.println(value);
        }
    }
}

转载于:https://my.oschina.net/u/3939041/blog/3040154

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值