OJ常见编程题

作者: 海若Hero | 来源:发表于2018-12-26 16:24 被阅读3次

    第一题:目的
    1、变量定义、初始化、赋值
    2、运算符和表达式
    3、输出语句System.out.println();
    1.作一个加法器,计算它们的和
    2.作一个减法器,计算它们的差
    3.作一个乘法器,计算它们的积
    4.作一个除法器,计算它们的商(和余数)
    [Work01.java]

    public class Work01{
        public static void main(String []args){
            int i=9;int j=4;
            int k=i+j;
            int l=i-j;
            int m=i*j;
            int n=i/j;
            int o=i%j;
            System.out.println("和:"+k+" 差:"+l+" 积:"+m+" 商:"+n+" 模:"+o);
        }
    }
    

    第二题:正方型[Work02.java]

    //正方形
    public class Work02{
        public static void main(String []args){
            for(int i=1;i<5;i++){
                System.out.println("********");
            }
        }
    }
    

    第三题:直角三角形[Work03.java]

    //直角三角形
    public class Work03{
        public static void main(String []args){
            for(int i=1;i<9;i++){
                for(int j=1;j<i;j++){
                    System.out.print("*");
                }
                System.out.println();
            }
        }
    }
    

    第四题:三角形[Work04.java]

    //三角形
    public class Work04{
        public static void main(String []args){
            int lay=10;//行数
            for(int i=1;i<=lay;i++){//循环行
                for(int k=1;k<=lay-i;k++){//找空格
                    System.out.print(" ");
                }
                    for(int j=1;j<=(i-1)*2+1;j++){//找星位置并输入
                        System.out.print("*");
                    }
                System.out.println();//换行
            }
        }
    }
    

    第五题:
    已知手掌游戏机一台320元,MP3一台260元。公司举行抽奖大会,公司有18人,一等奖游戏机,二等奖MP3,购入5公游戏机,13台MP3。问总价为多少,公司实际平均给每人花费多少钱。[Work05.java]

    //计算总费用和平均费用
    import java.util.*;//加载包
    public class Work05{
        public static int gbGame=320;//静态变量
        public static int gbGameT=5;
        public static int mp3=260;
        public static int mp3T=13;
        public static int people=18;
        public static void main(String []args){
            Scanner myScanner=new Scanner(System.in);//调用键盘输入
            showInfo(); //调用showInfo方法
            System.out.print("请输入手掌游戏机价格:");
            gbGame=myScanner.nextInt();
            System.out.print("请输入MP3价格:");
            mp3=myScanner.nextInt();
            System.out.print("请输入手掌游戏机数量:");
            gbGameT=myScanner.nextInt();
            System.out.print("请输入MP3数量:");
            mp3T=myScanner.nextInt();
            showInfo();
            }
        public static void showInfo(){ // 建立showInfo方法
            int total=gbGame*gbGameT+mp3*mp3T;//总价
            float average=(float)total/people;//平均价
            System.out.printf("总价: %d,平均价是: %f \n",total,average);
        }
    }
    

    第六题
    手掌游戏机一台X元,mp3一台Y元(X,Y,N,M,Z由用户输入)
    公司举行抽奖大会,一等奖游戏机N台,二等奖mp3 M台。公司共有Z人。问总价为多少,公司实际平均给每人花费了多少钱。

    //计算总费用和平均费用
    import java.util.*;//加载包
    public class Work06{
        public static int gbGame=0;//静态变量
        public static int gbGameT=0;
        public static int mp3=0;
        public static int mp3T=0;
        public static int people=0;
        public static void main(String []args){
            Scanner myScanner=new Scanner(System.in);//调用键盘输入
            System.out.print("请输入手掌游戏机价格:");
            gbGame=myScanner.nextInt();
            System.out.print("请输入MP3价格:");
            mp3=myScanner.nextInt();
            System.out.print("请输入手掌游戏机数量:");
            gbGameT=myScanner.nextInt();
            System.out.print("请输入MP3数量:");
            mp3T=myScanner.nextInt();
            System.out.print("请输入员工数:");
            people=myScanner.nextInt();
            showInfo();//调用showInfo方法
            }
        public static void showInfo(){ // 建立showInfo方法
            int total=gbGame*gbGameT+mp3*mp3T;//总价
            float average=(float)total/people;//平均价
            System.out.printf("总价: %d,平均价是: %f \n",total,average);
        }
    }
    

    第七题
    九九乘法表,要求行列对齐[Work07.java]

    //九九乘法表
    import java.util.*;//加载包
    public class Work07{
        public static void main(String []args){
            Scanner myScanner=new Scanner(System.in);//调用键盘输入
            System.out.print("请输入1-9中的一个数:");
            int num=myScanner.nextInt();
            for(int i=1;i<=num;i++){
                for(int j=1;j<=i;j++){
                    System.out.print(i+"×"+j+"="+(i*j)+"\t");
                }
            System.out.println();
            }
        }
    }
    

    第八题
    请使用三个整型变量完成如下功能:
    1、用户输入两个整数值;3 5
    2、计算两数的和,输出此和; 8
    3、求出两数的平均数,输出平均数(整数即可); 4
    4、求出平均数>第二个数的关系表达式的值,输出此值; 0
    5、用第一个数减去上面关系表达式的值,得到它们的差,输出差; 3
    6、存储第二个数的变量累乘上式的结果,输出此变量的当前值; 15
    7、存储第一个数的变量累加第二个变量,输出第一个变量的当前值。 18

    //输入两个数完成任务集合[Work08.java]
    import java.util.*;//加载包
    public class Work08{
        public static void main(String []args){
            Scanner myScanner=new Scanner(System.in);//调用键盘输入
            System.out.print("请输入一个数A:");
            int a=myScanner.nextInt();
            System.out.print("请输入一个数B:");
            int b=myScanner.nextInt();
            int e=0;//定义变量
            //求和    
            int c=a+b;
            System.out.println("和:"+c);
            //求平均数
            int d=(a+b)/2;
            System.out.println("平均数:"+d);
            //判断平均数是否大于第二个数
            if(d>b){ 
                e=1;
                System.out.println("平均数>第二个数"); 
            }else{
                e=0;
                System.out.println("小于"+b+"输出判断值"+e);
            }
            //第一个数减去上式的值
            int f=a-e;
            System.out.println("第一个数减去上式的值"+f);
            //第二个数乘上式的值
            int g=b*f;
            System.out.println("第二个数累乘上式的值"+g);
            //第一个数累加并赋给第一个数
            a+=g;
            System.out.println("第一个数累加第二个数赋给第一个数的值"+a);
        }
    }
    

    第九题
    渔夫出海打鱼,收获若干
    1、渔夫卖掉一半的鱼,然后送给海伦3条;
    2、渔夫又卖掉剩下的鱼的2/3,自己吃掉1条;
    3、海伦来看渔夫,问他那天打了多少鱼,渔夫数了数,还剩4条鱼,渔夫对海伦怎么说?

    //打鱼--共有多少鱼[Work09.java]
    public class Work09{
        public static void main(String []args){
            int total=0;
            int rest=4;//剩余的鱼
            total=((rest+1)*3+3)*2;//逆推
            System.out.println("鱼一共有:"+total);
        }
    }
    

    第十题
    有一只猴子摘了一堆桃子,当即吃了一半,可是桃子太好吃了,它又多吃了一个,第二天它把第一天剩下的桃子吃了一半,又多吃了一个,就这样到第十天早上它只剩下一个桃子了,问它共摘了多少桃子[Work10.java]

    import java.util.*;//加载包
    public class Work10{
        public static void main(String []args){
            Monkey mo=new Monkey();
            mo.scan();
        }
    }
    class Monkey{
        //day哪天的桃子数,sday吃了多少天剩下一个
        public static int peach(int day,int sday){//建一个peach方法
            if(day==sday){
                return 1;
            }else{
                return (peach(day+1,sday)+1)*2;//算法返回值
            }
        }
        public static void scan(){ //建立输入的方法
            int a=1;
            System.out.println("请输入要吃几天:");
            Scanner sr=new Scanner(System.in);
            int b=sr.nextInt();
            if(a<b){
                System.out.print(Monkey.peach(a,b));
            }else{
                System.out.println("不能小于等于1天");
                Monkey.scan();
            }
        }
    }
    

    第十一题
    计算1+2+3+...+20=?思考如果让用户输入一个整数n计算累加和:1+2+3+...+n能做到吗?
    [Work11.java]

    import java.util.*;//加载包
    public class Work11{
        public static void main(String []args){
            Scanner myScanner=new Scanner(System.in);//调用键盘输入
            System.out.print("请输入一个数N:");
            int n=myScanner.nextInt();
            int i=0;
            for(int m=0;m<n;m++){
                i=i+(m+1);
                System.out.println("m是"+m);
            }
            System.out.println("1+2+3+...+n的值是"+i); 
        }
    }
    

    第十二题
    请编写一个Cat类,要求如下:
    该猫可以做四则运算,也可以进行面积计算;
    将四则运算器和面积运算器合二为一,作一个运算器,主菜单让用户选择是做四则运算还是面积运算,分为两个子菜单,让用户选择加减乘除或者形状。

    //一个Cat类进行四则运算和面积计算[Work12.java]
    //一个Cat类进行四则运算和面积计算
    import java.util.*;//加载包
    public class Work12{
        public static void main(String []args){
            Cat cat=new Cat();
            cat.scan1();
        }
    }
    class Cat{
        //输入方法
        public static void scan1(){
            System.out.println("题目类型如下");
            System.out.println("1、四则运算");
            System.out.println("2、面积运算");
            System.out.println("0、退出程序");
            System.out.print("请选择要做题的类型,请入0-2:");
            Scanner sr=new Scanner(System.in);
            int x=sr.nextInt();
            switch(x){
                case 0:
                    System.out.println("谢谢使用,再见!");//退出
                    break;
                case 1:
                    Cat.szys();
                    break;
                case 2:
                    Cat.mjys();
                    break;
                default:
                    System.out.println("输入有误,请重新输入!");
                Cat.scan1();//重复调用目录
            }
        }
        //四则运算方法
        public static void szys(){
                System.out.println("四则运算");
                System.out.println("1、加法运算");
                System.out.println("2、减法运算");
                System.out.println("3、乘法程序");
                System.out.println("4、除法程序");
                System.out.println("0、返回上级");
                System.out.print("请选择要做题的类型,请入0-4:");
                Scanner sr=new Scanner(System.in);
                int y=sr.nextInt();
                switch(y){
                    case 0:
                        System.out.println("返回上级");
                        Cat.scan1();//调用主目录
                        break;
                    case 1:
                        System.out.println("进入加法运算,请输入第一个数:");
                        Scanner jf1=new Scanner(System.in);
                        int jf01=jf1.nextInt();
                        System.out.println("进入加法运算,请输入第二个数:");
                        Scanner jf2=new Scanner(System.in);
                        int jf02=jf2.nextInt();
                        float jfh=(float)jf01+(float)jf02;
                        System.out.println(jf01+"+"+jf02+"="+jfh);
                        System.out.println("已计算完成。");
                        System.out.println("是否要继续使用?使用请输入1,返回请输入2,退出请输入任意数字:");
                        Scanner cz01=new Scanner(System.in);
                        int cz001=cz01.nextInt();
                        if(cz001==1){
                            Cat.szys();
                        }else if(cz001==2){
                            Cat.scan1();
                        }else if(cz001!=1||cz001!=2){
                            System.out.println("谢谢使用,再见!");
                        }
                        break;                  
                    case 2:
                        System.out.println("进入减法运算,请输入第一个数:");
                        Scanner jjf1=new Scanner(System.in);
                        int jjf01=jjf1.nextInt();
                        System.out.println("进入减法运算,请输入第二个数:");
                        Scanner jjf2=new Scanner(System.in);
                        int jjf02=jjf2.nextInt();
                        float jjfh=(float)jjf01-(float)jjf02;
                        System.out.println(jjf01+"-"+jjf02+"="+jjfh);
                        System.out.println("已计算完成。");
                        System.out.println("是否要继续使用?使用请输入1,返回请输入2,退出请输入任意数字:");
                        Scanner cz02=new Scanner(System.in);
                        int cz002=cz02.nextInt();
                        if(cz002==1){
                            Cat.szys();
                        }else if(cz002==2){
                            Cat.scan1();
                        }else if(cz002!=1||cz002!=2){
                            System.out.println("谢谢使用,再见!");
                        }
                        break;
                    case 3:
                        System.out.println("进入乘法运算,请输入第一个数:");
                        Scanner cff1=new Scanner(System.in);
                        int cff01=cff1.nextInt();
                        System.out.println("进入乘法运算,请输入第二个数:");
                        Scanner cff2=new Scanner(System.in);
                        int cff02=cff2.nextInt();
                        float cffh=(float)cff01*(float)cff02;
                        System.out.println(cff01+"×"+cff02+"="+cffh);
                        System.out.println("已计算完成。");
                        System.out.println("是否要继续使用?使用请输入1,返回请输入2,退出请输入任意数字:");
                        Scanner cz03=new Scanner(System.in);
                        int cz003=cz03.nextInt();
                        if(cz003==1){
                            Cat.szys();
                        }else if(cz003==2){
                            Cat.scan1();
                        }else if(cz003!=1||cz003!=2){
                            System.out.println("谢谢使用,再见!");
                        }
                        break;
                    case 4:
                        System.out.println("进入除法运算,请输入第一个数:");
                        Scanner cf1=new Scanner(System.in);
                        int cf01=cf1.nextInt();
                        System.out.println("进入除法运算,请输入第二个数:");
                        Scanner cf2=new Scanner(System.in);
                        int cf02=cf2.nextInt();
                        float cfh=(float)cf01/(float)cf02;
                        System.out.println(cf01+"÷"+cf02+"="+cfh);
                        System.out.println("已计算完成。");
                        System.out.println("是否要继续使用?使用请输入1,返回请输入2,退出请输入任意数字:");
                        Scanner cf03=new Scanner(System.in);
                        int cf003=cf03.nextInt();
                        if(cf003==1){
                            Cat.szys();
                        }else if(cf003==2){
                            Cat.scan1();
                        }else if(cf003!=1||cf003!=2){
                            System.out.println("谢谢使用,再见!");
                        }
                        break;
                    default:
                        System.out.println("输入有误,请重新输入!");
                    Cat.szys();//循环调用子目录
                }
            }
        //面积运算方法
        public static void mjys(){
                System.out.println("面积运算");
                System.out.println("1、三角形面积计算");
                System.out.println("2、圆形面积计算");
                System.out.println("3、方形面积计算");
                System.out.println("0、返回上级");
                System.out.print("请选择要做题的类型,请入0-3:");
                Scanner sr=new Scanner(System.in);
                int z=sr.nextInt();
                switch(z){
                    case 0:
                        System.out.println("返回上级");
                        Cat.scan1();//调用主目录
                        break;
                    case 1:
                        System.out.println("进入三角形面积计算,请输入底:");
                        Scanner sj1=new Scanner(System.in);
                        int sjx01=sj1.nextInt();
                        System.out.println("进入三角形面积计算,请输入高:");
                        Scanner sj2=new Scanner(System.in);
                        int sjx02=sj2.nextInt();
                        float sjxh=((float)sjx01*(float)sjx02)/2;
                        System.out.println("底"+sjx01+" 高:"+sjx02+" 面积="+sjxh);
                        System.out.println("已计算完成。");
                        System.out.println("是否要继续使用?使用请输入1,返回请输入2,退出请输入任意数字:");
                        Scanner sj03=new Scanner(System.in);
                        int sj003=sj03.nextInt();
                        if(sj003==1){
                            Cat.mjys();
                        }else if(sj003==2){
                            Cat.scan1();
                        }else if(sj003!=1||sj003!=2){
                            System.out.println("谢谢使用,再见!");
                        }
                        break;
                    case 2:
                        System.out.println("进入圆形面积计算,请输入半径:");
                        Scanner y1=new Scanner(System.in);
                        int bj=y1.nextInt();
                        float ymjh=(float)bj*(float)bj*3.1415926f;
                        System.out.println("半径:"+bj+" 面积:"+ymjh);
                        System.out.println("已计算完成。");
                        System.out.println("是否要继续使用?使用请输入1,返回请输入2,退出请输入任意数字:");
                        Scanner y01=new Scanner(System.in);
                        int y001=y01.nextInt();
                        if(y001==1){
                            Cat.mjys();
                        }else if(y001==2){
                            Cat.scan1();
                        }else if(y001!=1||y001!=2){
                            System.out.println("谢谢使用,再见!");
                        }
                        break;
                    case 3:
                        System.out.println("进入方形面积计算,请输入长:");
                        Scanner c1=new Scanner(System.in);
                        int c01=c1.nextInt();
                        System.out.println("进入方形面积计算,请输入宽:");
                        Scanner k2=new Scanner(System.in);
                        int k02=k2.nextInt();
                        float mjh=(float)c01*(float)k02;
                        System.out.println("长:"+c01+" 宽:"+k02+" 面积:"+mjh);
                        System.out.println("已计算完成。");
                        System.out.println("是否要继续使用?使用请输入1,返回请输入2,退出请输入任意数字:");
                        Scanner m03=new Scanner(System.in);
                        int m003=m03.nextInt();
                        if(m003==1){
                            Cat.mjys();
                        }else if(m003==2){
                            Cat.scan1();
                        }else if(m003!=1||m003!=2){
                            System.out.println("谢谢使用,再见!");
                        }
                        break;
                    default:
                        System.out.println("输入有误,请重新输入!");
                    Cat.mjys();//循环调用子目录
                }
            }
    }
    

    第十三题
    请大家采用面向对象思想设计超级马里奥游戏人物。并能用键盘输入命令,来控制马里奥的位置[Work13.java]

    //超级马里奥人物建造及控制台数字操作
    import java.util.*;
    public class Work13 {
        public static void main(String[] args) {
            Scanner sr=new Scanner(System.in);//接收键盘输入
            System.out.println("输入1-25的数字,你可以移动马里奥,输入其它数字退出");
            int i=sr.nextInt();//将键盘输入数字赋值给i
            Maria m=new Maria();//建立调用Maria构造方法
            for(int a=i;a<=25;a--){
                if(i<25){
                    m.move(i);
                    i=sr.nextInt();
                }else{
                    System.out.println("退出游戏!");
                    break;
                }
            }
        }
    }
    
    class Maria{
        int x,y;
        //构造方法,初始化场景;确定地图,Maria的位置
        public Maria(){
            System.out.println("I'm Maria \n"+"@");
        }
        public void move(int i){
            for(int k=1;k<=25;k++){
                if(k==i){
                    System.out.printf("@");
                }else{
                    System.out.printf(".");
                }
            }
        }
    }
    

    第十四题
    请编写一个猜拳的游戏
    有个人Tom设计他的成员变量,成员方法,可以电脑猜拳。电脑每次都会随机生成0,1,2;0表示石头、1表示剪刀、2表示布

    //与电脑猜拳[Work14_1.java]
    import java.util.*;
    public class Work14_1 {
        public static void main(String[] args) {
                Kais.jingcyx();//调用开始游戏
        }
    }
    //开始退出游戏类
    class Kais{
        public static void jingcyx(){
            System.out.println("是否开始猜拳游戏?按1开始,按0退出");
            Scanner sr=new Scanner(System.in);
            int x=sr.nextInt();
            switch (x){
                case 0:
                    System.out.println("已退出游戏!");   
                    break;
                case 1:
                    System.out.println("游戏说明:0代表石头,1代表剪刀,2代表布");
                    Caiquan.caiquan();
                    break;
                default:
                    System.out.println("输入错误,请重新输入!");
                    Kais.jingcyx();
                    break;
            }
        }
    }
    //猜拳游戏
    class Caiquan{
        public static void caiquan(){
            int a1=0,b1=0,c1=0;
            System.out.print("请输入想玩的盘数:");
            Scanner p=new Scanner(System.in);
            int ps=p.nextInt();
            for(int i=1;i<=ps;i++){
                System.out.println("游戏已开始,请出拳!");
                Scanner m=new Scanner(System.in);
                int a=m.nextInt();//玩家出拳
                //Random n=new Random(2);//随机函数
                int b=(int)(0+Math.random()*(3-1+1));//随机产生0-2的int数,电脑出拳
                if(a==b){
                    a1++;
                    System.out.println("打平!");
                }else if((a-b)==-1||(a-b)==2){
                    b1++;
                    System.out.println("YOU Win!");
                }else{
                    c1++;
                    System.out.println("YOU LOSE");
                }
            }
            System.out.println("平:"+ a1 +"\n赢:" + b1 +"\n输:"+c1+"\n一共玩了"+(a1+b1+c1)+"局");
            Kais.jingcyx();
        }
    }
    

    第十五题
    请编写一个类koradji(巫师的意思)
    为类编写如下功能:
    1、根据用户的输入某人的生日,可以计算出该人的星座;
    2、根据用户的输入年月日可以计算是星期几;
    3、可以显示该巫师给多少人算过星相。
    1月20日- 2月18日水瓶 2月19日- 3月20日双鱼 3月21日- 4月19日白羊
    4月20日- 5月20日金牛 5月21日- 6月20日双子 6月21日- 7月22日巨蟹
    7月23日- 8月22日狮子 8月23日- 9月22日处女 9月23日-10月22日天秤
    10月23日-11月21日天蝎 11月22日-12月21日射手 12月22日- 1月19日摩羯

    //通过输入生日显示出生在周几。巫师看星座[Wrok15.java]
    import java.util.*;
    public class Work15{
        public static void main(String []args){ //程序入口
            Start ks=new Start();//调用程序开始类Start,并启用st方法
            ks.st();
        }
    }
    
    class Start{//程序开始类
        public void st(){
            System.out.println("年月日格式:19XX XX XX\n请输入出生年月日:");
            Scanner sr=new Scanner(System.in);
            int year=sr.nextInt();//输入年
            int month=sr.nextInt();//输入月
            int date=sr.nextInt();//输入日
            Rq r=new Rq();  //调用周几类
            r.rq(year,month,date);//将年月日数据传给周几类的rq方法中
            Xinz xz=new Xinz();//调用星座类
            xz.xinz(month,date);//将月日的数据传给星座类中的xinz方法中
            System.out.println("\n是否继续让巫师看星座?\n1、继续\t2、退出");
            Scanner sr1=new Scanner(System.in);
            int o=sr1.nextInt();
            if(o==1){
                Start qd=new Start();//输入1调用程序开始类
                qd.st();
            }else if(o!=1){ //不等于1退出
                Xinz tc=new Xinz();
                System.out.println("巫师为"+tc.getI()+"人看过星座");
                System.out.println("退出星座查询,Goodbay!");
            }
        }
    }
    
    class Rq{//周几类
        public void rq(int year,int month,int date){
            Calendar c = Calendar.getInstance(); //调用日期Calendar抽象类
            c.set(Calendar.YEAR,year);  
            c.set(Calendar.MONTH,month-1);
            c.set(Calendar.DATE,date);
            int week = c.get(Calendar.DAY_OF_WEEK);
            switch (week){ //判断输入的日期是周几
            case 1:
                System.out.println("星期日");
                break;
            case 2:
                System.out.println("星期一");
                break;
            case 3:
                System.out.println("星期二");
                break;
            case 4:
                System.out.println("星期三");
                break;
            case 5:
                System.out.println("星期四");
                break;
            case 6:
                System.out.println("星期五");
                break;
            case 7:
                System.out.println("星期六");
                break;
            }
        }
    }
    
    class Xinz{ //星座类
        public static int i=0;//定义静态变量i,i为统计调用人数计数器
        public void xinz(int month,int date){ //判断星座的方法
        i++;//调用此方法计数累器
            switch(month){
                case 1:{
                    if(date>=20){
                        System.out.println("水瓶座");
                    }else{
                        System.out.println("摩羯座");
                    }
                    break;
                }
                case 2:{
                    if(date>=19){
                        System.out.println("双鱼座");
                    }else{
                        System.out.println("水瓶座");
                    }
                    break;
                }
                case 3:{
                    if(date>=21){
                        System.out.println("白羊座");
                    }else{
                        System.out.println("双鱼座");
                    }
                    break;
                }
                case 4:{
                    if(date>=20){
                        System.out.println("金牛座");
                    }else{
                        System.out.println("白羊座");
                    }
                    break;
                }
                case 5:{
                    if(date>=21){
                        System.out.println("双子座");
                    }else{
                        System.out.println("金牛座");
                    }
                    break;
                }
                case 6:{
                    if(date>=21){
                        System.out.println("巨蟹座");
                    }else{
                        System.out.println("金牛座");
                    }
                    break;
                }
                case 7:{
                    if(date>=23){
                        System.out.println("狮子座");
                    }else{
                        System.out.println("巨蟹座");
                    }
                    break;
                }
                case 8:{
                    if(date>=20){
                        System.out.println("处女座");
                    }else{
                        System.out.println("巨蟹座");
                    }
                    break;
                }
                case 9:{
                    if(date>=23){
                        System.out.println("天平座");
                    }else{
                        System.out.println("处女座");
                    }
                    break;
                }
                case 10:{
                    if(date>=23){
                        System.out.println("天蝎座");
                    }else{
                        System.out.println("天平座");
                    }
                    break;
                }
                case 11:{
                    if(date>=22){
                        System.out.println("射手座");
                    }else{
                        System.out.println("天蝎座");
                    }
                    break;
                }
                case 12:{
                    if(date>=22){
                        System.out.println("摩羯座");
                    }else{
                        System.out.println("射手座");
                    }
                    break;
                }
            }
        }
        public int getI(){ //返回统计调用次数
            return i;
        }
    }
    

    第十六题
    10个人投票选班长,有三个侯选人(张三,李四,王五),通过编号投票,要求最后显示班长姓名。[Work16.java]

    import java.util.*;
    public class Work16 {
        public static void main(String[] args) {
            //设定投票人数
            System.out.print("设定投票人数:");
            Scanner sr=new Scanner(System.in);
            int a=sr.nextInt();
            System.out.print("请输入第1位侯选人的名字:\n");
            Scanner sr1=new Scanner(System.in);
            String i1=sr1.nextLine();//键盘接收字符串
            System.out.print("请输入第2位侯选人的名字:\n");
            Scanner sr2=new Scanner(System.in);
            String i2=sr2.nextLine();
            System.out.print("请输入第3位侯选人的名字:\n");
            Scanner sr3=new Scanner(System.in);
            String i3=sr3.nextLine();
            System.out.println("本次选举将有"+ a +"人参与!");
            System.out.println("1号:"+i1+"\t2号:"+i2+"\t3号:"+i3);
            Xuanju tp=new Xuanju();
            tp.tp(a,i1,i2,i3);
        }
    }
    class Xuanju{
        public void tp(int a,String i1,String i2,String i3){
            int j1=0,j2=0,j3=0,qq=0;//计票器
            for (int i=1;i<=a;i++){ //统计投票
                System.out.println("请投票,投票请按1,2,3:");
                Scanner tp=new Scanner(System.in);
                int b=tp.nextInt();
                System.out.println("已有"+ i +"人投票");
                switch (b){
                    case 1:
                        j1++;
                        break;
                    case 2:
                        j2++;
                        break;
                    case 3:
                        j3++;
                        break;
                    default:
                        qq++;
                        break;
                }
            }
            
            if(j1>j2&&j1>j3){
                System.out.println(i1 +"得"+ j1 +"票\n"+ i2 +"得"+ j2 +"票\n"+ i3 +"得"+ j3 +"票\n"+"弃权票数"+qq);
                System.out.println("恭喜" + i1 + "当选班长!");
            }else if(j1<j2&&j2>j3){
                System.out.println(i1 +"得"+ j1 +"票\n"+ i2 +"得"+ j2 +"票\n"+ i3 +"得"+ j3 +"票\n"+"弃权票数"+qq);
                System.out.println("恭喜" + i2 + "当选班长!");
            }else if(j3>j1&&j2<j3){
                System.out.println(i1 +"得"+ j1 +"票\n"+ i2 +"得"+ j2 +"票\n"+ i3 +"得"+ j3 +"票\n"+"弃权票数"+qq);
                System.out.println("恭喜" + i3 + "当选班长!");
            }else {
                System.out.println(i1 +"得"+ j1 +"票\n"+ i2 +"得"+ j2 +"票\n"+ i3 +"得"+ j3 +"票\n"+"弃权票数"+qq);
                System.out.println("有同等票数,投票无效重新投票!");
            }
        }
    }
    

    tobehero666.png

    相关文章

      网友评论

        本文标题:OJ常见编程题

        本文链接:https://www.haomeiwen.com/subject/grohlqtx.html