A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


import java.util.Scanner;                 // 这是竹林设计的第一款游戏,猜拳的升级版!!!
public class 猜拳游戏 {

        public static void main(String[] args) {
                int m = 1;
                Scanner scan=new Scanner(System.in);
                System.out.println("   -----------------------猜拳游戏----------------------");
                for(int i = 0;i < 3; i++) {
                System.out.println("请猜拳:(1.石头   2.剪刀   3.布)" + "          三局两胜,还剩" + (3-i) + "局");
                int you=scan.nextInt();
                if(you !=1 && you !=2 && you !=3) {
                        System.out.println("你这么淘气你妈妈知道吗,╮(╯▽╰)╭   还是输入1,2,3其中之一吧" + '\n');
                }else {
                int com=(int)(Math.random()*3)+1;
                String s="";
                String l="";
                switch(com){
                        case 1:
                        s="石1头";
                        break;
                        case 2:
                        s="剪刀";
                        break;
                        case 3:
                        s="布";
                        break;
                }
                switch(you){
                case 1:
                l="石头";
                break;
                case 2:
                l="剪刀";
                break;
                case 3:
                l="布";
                break;
               
                }
                if(com==you){
                        System.out.println("平 局---你出的是 "+l+",  电脑出的是 " + s +'\n');
                }else if(you==1&&com==2||you==2&&com==3||you==3&&com==1){
                        m++;
                        System.out.println("你赢了---你出的是 "+l+",  电脑出的是 " + s + '\n');
                       
                }else {
                        m--;
                        System.out.println("你输了---你出的是 "+l+",  电脑出的是 " + s +'\n');
                }
        }
        }
        if(m >= 2) {
                System.out.println(" 能有如此高的成就,想必您定不是普通人吧,可否方便让在下知道您的姓名:");
                int h = 0;
                Scanner c = new Scanner(System.in);
                String ss = c.nextLine();
                for (int l = 9;l >= 0 ;l-- ) {
               
                        for (int j = 0;j < l+26 ;j++ ) {
                                System.out.print(" ");
                        }
                        h++;
                        for (int k = h;k > 0 ;k-- ) {
                        System.out.print("* ");
                        }
                        System.out.println();
                }
                System.out.println("\n 原来是"+ss+"阁下,您的大名我早已如雷贯耳!想不到您已站在了金子塔顶端,佩服佩服!");
        }else if(m == 1) {
                System.out.println("  恭喜您最终赢得胜利!!!-----" + "↖(^ω^)↗↖(^ω^)↗↖(^ω^)↗");                       
        } else if(m == 0) {
                System.out.println("  革命尚未成功,同志仍需努力!!! (⊙o⊙)。。。");
        }else {
                System.out.println("  !(╯﹏╰)!离成功就差那么一丢丢。。。");
        }
}
}

class Wmm {                          
//素数判断条件:是否能被2--n/2整除,整除的跳过,不能整除的为素数,输出素数
        public static void main(String[] args) {
                System.out.println("1到n(100)之间的所有素数为:");
                int j=0;
                for (int i=2;i<=100 ;i++ ) {                       
                        for (int z=2;z<i/2 ;z++ ) {
                                if (i%z==0) {
                                        System.out.print(i+"\t");
                                        j++;
                                        if (j%5==0) {
                                                 System.out.println();
                                        }

                                }else {
                                         continue;
                                }
                        }
                                                                                                                                                
                }
                System.out.println("1到100之间的素数有"+j+"个");
        }
}

//获取数组中的索引值,利用索引值取得最值并调换位置
class Th {
        public static void main(String[] args) {
                int[] a = {6,2,9,15,1,5,20,7,18};
                int max = 0;                                                                //设定数组最大值的索引值
                int min = 0;
                int t;
                System.out.println("改变前的数组为" );
                for(int j = 0;j < a.length;j++) {
                        System.out.print(a[j] + "  ");
                }
                for(int i = 0; i < a.length;i++) {                        //获取最大、小值的实际索引值
                         max = (a[i] > a[max])? i : max;
                         min = (a[i] < a[min])? i : min;       
                }
                t = a[max];                                                //由索引调换最大、小值的存储位置
                a[max] = a[a.length-1];
                a[a.length-1] = t;

                t = a[min];
                a[min] = a[0];
                a[0] = t;
                System.out.println("\n改变后的数组为" );
                for(int j = 0;j < a.length;j++) {                        //编辑输出
                        System.out.print(a[j] + "  ");       
                }
        }
}


        (1)定义一个int类型的一维数组,内容为{6,2,9,6,1,2,6,7,8}
        (2)去除上面定义的数组中的重复元素,打印最终结果{6, 2, 9, 1, 7, 8}
             (还可用集合完成)
import java.util.Scanner;
class Fz {
        public static void main(String[] args) {
                int[] arr = {6,2,9,6,1,2,6,7,8};
               
                System.out.print("{" + arr[0] + ",");
                                                                //后边的元素与前边的元素分别比较,若相等则不输出
                for(int i = 1;i <arr.length;i++) {
                                                                //第i个元素分别与第j个元素比较是否相等,j不断变小至0
                        for(int j = 0;j <= i-1;j++) {
                                if(arr[i] == arr[j]) {
                                        break;
                                }
                                if(j == i-1) {                        //此处设计的比较经典,我需要什么就去设定什么,去考虑什么即可
                                System.out.print(arr[i] + ",");
                                }
                        }
                       
                }
                       
               
        }
}


import java.util.Arrays;
class zuizhi {
        public static void main(String[] args) {
                int[] att[] = {{1,2,3},{4,15,64,7,22},{8,66,44},{2,3}};
                Arrays.sort(att[1]);                                        //二维数组可以用sort排序,但要以一维数组形式
               
                for (int j = 0;j < att.length ;j++ ) {        //不同长度的二维数组输出方法
                        for(int i = 0;i<att[j].length;i++)
                        System.out.println(att[j][i]);
                        System.out.println("==================================");
                }
               
               
        }
}


// 求得一个范围内的所有素数:
import java.util.Scanner;
class Day040202 {
        //数字都会被整除,素数是被1和本身整除,其它的数还可以被其它因数可以整除
        public static void main(String[] args) {
                /*System.out.println("1到100之间的所有素数为:");
                int j=0;                                               
                for (int i=2;i<=100 ;i++ ) {                       
                         for (int z=2;z<=i ;z++ ) {
                                 if (i%z==0&&z!=i) {                        //排除所有非素数的数
                                         break;
                                 }else if (i==z) {                                //限定循环执行到结尾在做输出
                                         System.out.print(i+"\t");
                                         j++;
                                         if (j%5==0) {
                                                 System.out.println();
                                }

                                 
                                 }
       
                         }
                                                                                                                                                
                }
                System.out.println("1到100之间的素数有"+j+"个");*/


        //方法二 :被2--n/2测试是否能被整除,不能被整除的为素数
        int count = 2;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个选取范围的最大值:");
        int m = sc.nextInt();
        System.out.print("2\t3\t");
        for(int i = 2;i < m;i++){
                for(int j = 2;j <= i/2 ;j++ ) {
                        if(i % j == 0) {
                                break;
                        }else if(j == i/2) {
                                System.out.print(i + "\t");
                                count++;
                                if(count % 5 == 0)
                                        System.out.println();
                        }
                }
        }
        System.out.println("\n 共有素数 :" + count);

        }
}


class ChaZiFu {                                                //该方法是 查看A字符串中含有多少个B字符串
        public static void main(String[] args) {
                String s = "lsdfslheimaljkdlheimasdfsj3445heima,dsljflls.sjlhaheimalsfjheima;kdslheima";
                String sz = "heima";
                //分析:定义计数器以0开始,利用indexOf获取地址若无则返回-1,利用for或while循环,截取字符串从index+sz.length()开始
                int count = 0;
                int index;
                while((index = s.indexOf(sz))!= -1) {
                        count++;
                        s = s.substring(index + sz.length());  //关键步骤,截取未被扫描的字符串
                       
                }
                System.out.println("s字符串中含有的sz字符串个数: " + count);
        }
}


package com.supers.mathj;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class test3 {

        public static void main(String[] args) {
                //method1();
                //method2();
                String st = "woshiyigefenshuajiangafenwoshubenlingqinwoagadulahahayigersana";
                String min = "wo";
                int count = 0;
                Pattern p = Pattern.compile(min);                //采用模板匹配式查看字符串中含有小字符串的个数
                Matcher m = p.matcher(st);                //此处p和st位置不能调换
                while(m.find()) {
                        count++;
                }
                System.out.println(count);
        }

        private static void method2() {        //采用 indexOf 加 substring方法判断大字符串含小字符串的个数及出现的索引位置;
                String st = "woshiyigefenshuajiangafenwoshubenlingqinwoagadulahahayigersana";
                String min = "wo";
                int count = 0;
                int index = 0;
                while((index = st.indexOf(min)) != -1) {
                        count++;
                        st = st.substring(index + min.length());
                        System.out.println(min + "出现的索引位置是:" + index);
                }
                System.out.println("总共出现:" + count);
        }

        private static void method1() {                //字符串倒序输出
                String ss = "";
                StringBuilder sb = new StringBuilder("");
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个字符串:");
                String s = sc.nextLine();
               
                for (int i = s.length()-1; i >= 0; i--) {
                        //ss = ss + s.charAt(i);
                        sb.append(s.charAt(i));
                }
                System.out.println(ss);
                System.out.println(sb);
        }

}
       
3.分析以下需求,并用代码实现:
        (1)键盘录入一个小数,要求小数点后的小数位最少2位
        (2)定义方法,实现保留小数点后的两位小数(只舍不进)
        (3)如:输入5.6789 输出5.67,输入5.67389 输出5.67

import java.text.DecimalFormat;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Cs {

        /*(1)键盘录入一个小数,要求小数点后的小数位最少2位
        (2)定义方法,实现保留小数点后的两位小数(只舍不进)
         */
        public static void main(String[] args) {
                //false1method();
                //false2method();
                //false0method();
                //false3method();
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个小数点后的小数位最少2位的小数:");
                String st = sc.nextLine();
                int r = st.indexOf(".");
                if(r == -1 || st.length() < r + 3) {
                        System.out.println("您输入的小数有误!");
                        return;
                }
                String regex = "\\d+\\.\\d{2}";                //设置符合要求的正则表达式
                Pattern p = Pattern.compile(regex);        //格式模板遍历
                Matcher m = p.matcher(st);
                m.find();                                                        //查找字符串中是否含有符合要求的字符串
                System.out.println(m.group());                //输入符合要求的字符串
        }


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马