Java小专题之小程序

随机点名器

import java.util.*;
public class Math_Demo{
    public static void main(String[] args){
        String[] array={
            "张三",
            "李四",
            "王五",
            "赵六",
            "刘七",
            "陈八",
            "马九",
            "孟十"
        };

        //one
        Random r=new Random();
        int i=r.nextInt(8);
        System.out.println("i="+i);
        System.out.println(array[i]);

        //two
        int i=(int)(Math.random()*14);
        System.out.println("i="+i);
        System.out.println(array[i]);
        Scanner sc=new Scanner(System.in);
        int j=sc.nextInt();
        System.out.println("j="+j);


    }
}

敏感词过滤器

public class Demo{
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一句话: ");
        String s=sc.nextLine();
        String[] pass={"轮子","傻逼","狗日","你妹","草","卧槽"};
        for(int i=0;i<pass.length;i++){
            boolean b=s.contains(pass[i]);
            if(b){

                StringBuffer sb=new StringBuffer();//用于存**
                for(int j=0;j<pass[i].length();j++){
                    sb.append("**");
                }
                s=s.replace(pass[i], sb.toString());
            }
        }
        System.out.println(s);
    }
}

求质数

public class Demo {

    public static void main(String[] args) {
        System.out.println("1-100之间所有质数是: ");
        for(int i=2;i<=100;i++){
            for(int j=2;j<=i;j++){
                if(i%j==0 && i!=j){ //把不是质数的删除掉
                    break;
                }

                if(i%j==0 && i==j){//把是质数的打印出来
                    System.out.print(" "+i);
                }
            }
        }

    }

}

九九乘法表

public class Demo{

    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();
        }

    }
 }

打印三角形

import java.util.*;
public class San_Jiao_Xing{
    public static void main(String[] args){
        /*
                    *
                    **
                    ***
                    ****
                    *****
                    ******      

        */
        Scanner sc=new Scanner(System.in);
        int num=sc.nextInt();
        System.out.println("请输入行数,给你打印三角形:");
        for(int i=1;i<=6;i++){
            for(int j=1;j<=i;j++){
                System.out.print("*");
            }
            System.out.println();
        }
        System.out.println();


        /*
                    ******
                    *****
                    ****
                    ***
                    **
                    *       
        */

        for(int i=1;i<=6;i++){
            for(int j=6;j>=i;j--){
                System.out.print("*");
            }
            System.out.println();
        }
        System.out.println();


        /*
                         *
                        **
                       ***
                      ****
                     *****
                    ******
        */

        for(int i=1;i<=6;i++){
            for(int j=6;j>0;j--){
                if(j<=i){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
            }
            System.out.println();
        }
        System.out.println();

        /*
                    ******
                     *****
                      ****
                       ***
                        **
                         *

        */
        for(int i=1;i<=6;i++){
            for(int j=5;j>6-i;j--){
                System.out.print(" ");
            }

            for(int s=6;s>=i;s--){
                System.out.print("*");
            }
            System.out.println();
        }
        System.out.println();

    }
 }

打印实心菱形

public class Lx_8{
public static void main(String[] args) {
         /*
            *
           ***
          *****
         *******
          *****
           ***
            *
         */

        /*上半部分三角型*/
        for(int i=1;i<=4;i++)
        {
            //空格数目变化规律为3,2,1,故j=4-i
            for(int j=1;j<=4-i;j++){
                System.out.print(" ");
            }

            //"*"数目变化规律为1,3,5,7,故s<=2*i-1 
            for(int s=1;s<=2*i-1;s++){
              System.out.print('*');
            }
            System.out.println();
        }

        /*下半部分三角形*/
        for(int i=1;i<=4;i++)
        {
            //空格数目变化规律为1,2,3,
            for(int j=1;j<=i;j++){
                System.out.print(" ");
            }

            //"*"数目变化规律为5,3,1,故s>=2*i-1 
            for(int s=5;s>=2*i-1;s--){
              System.out.print('*');
            }

            System.out.println();
        }
    }
}

打印空心菱形

public class Lx_8{
public static void main(String[] args) {
         /*
               *
              * *
             *   *
            *     *
             *   *
              * *
               *
         */

        /*上半部分三角型*/
        for(int i=1;i<=4;i++)
        {
            //空格数目变化规律为3,2,1,故j=4-i
            for(int j=1;j<=4-i;j++){
                System.out.print(" ");
            }

            //"*"数目变化规律为1,3,5,7,故s<=2*i-1 
            for(int s=1;s<=2*i-1;s++){
                if(s==1 || s==2*i-1){
                    System.out.print('*');
                }else{
                    System.out.print(" ");
                }

            }
            System.out.println();
        }

        /*下半部分三角形*/
        for(int i=1;i<=4;i++)
        {
            //空格数目变化规律为1,2,3,
            for(int j=1;j<=i;j++){
                System.out.print(" ");
            }

            //"*"数目变化规律为5,3,1,故s>=2*i-1 
            for(int s=5;s>=2*i-1;s--){
              if(s==5 || s==2*i-1){
                  System.out.print('*');  
              }else{
                  System.out.print(" ");
              }

            }

            System.out.println();
        }
    }
}
打印图形总结:
1.双层for循环。
2.外层循环表示行数。
3.内层循环用来打*或空格,找他们数目和行数的数学关系。

冒泡排序

public class Demo{
    public static void main(String[] args){
        int[] a={49,38,65,97,76,13,27,49,78,34,12,64,5,4};
        int temp=0;  
        for(int i=0;i<a.length-1;i++){  
            for(int j=0;j<a.length-1-i;j++){  
                if(a[j]>a[j+1]){ //交换 
                    temp=a[j];  
                    a[j]=a[j+1];  
                    a[j+1]=temp;  
                }  
             }  
        }  
        //打印
        for(int i=0;i<a.length;i++){
            System.out.println(a[i]);  
        }
    }
}

字符串字符计数器

package cn.com.lingyao.Zuoye1;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

/**
 * 
 * @author lingyao
 *
 *需求:统计字符串中每个字符出现的次数
 *
 *需求分析:
 *
 *  1.手动输入字符串
 *
 *  2.建立Map集合 用出现的字符作为键  出现的次数作为值
 *
 *  3.把字符串转换为char数组
 *
 *  4.遍历char数组
 *
 *  5.把每个字符作为键 放到Map集合中获取值
 *
 *  6.判断字符是否出现过
 *
 *  7.输出结果
 *
 *
 */
public class Zuoye1 {

    public static void main(String[] args) {

        Scanner scr=new Scanner(System.in);
        System.out.println("请输入字符串:");
        String str=scr.nextLine();//读取一行

        //建立Map集合 用字符作为键 次数作为值
        HashMap<Character, Integer> map=new HashMap<Character, Integer>();
        //把字符串转换为char数组
        char[] array=str.toCharArray();//char[] array={'读','取','一','行'};
        //遍历char数组
        for(char ch:array){//char[] array={'读','取','一','行'};

            //把字符作为键 放到Map集合中  获取值
            Integer ir=map.get(new Character(ch));
            //判断字符是否出现过
            if(ir==null){//如果ir==null 就说明该字符还没有对应值  就说明该字符没有出现过

                //把字符作为键 次数作为值添加到Map集合
                map.put(new Character(ch), new Integer(1));

            }else{//否则就说明该字符串已经过

                //把该字符作为键 以前出现的次数+1 添加到Map集合中 根据Map集合特性 键重复 值覆盖
                map.put(new Character(ch), new Integer(ir.intValue()+1));

            }

        }

        //遍历Map集合输出结果
        Set<Map.Entry<Character, Integer>> set=map.entrySet();
        for(Map.Entry<Character, Integer> entry:set){

            //获取键
            Character key=entry.getKey();
            //获取值
            Integer value=entry.getValue();
            System.out.println("字符--->"+key+"---->出现了:"+value+"次");
        }

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值