Java 基本练习(1-4)章

练习题源自老师的课件例题及扩展,以单元划分

第1章 Java语言概述

1.1使用记事本开发Java程序

代码

//HelloWorld.java
public class HelloWorld{
    public static void main(String[] args){
        System.out.println("hello worid !!!");
    }
}

运行结果

注意事项:在记事本保存该文件的时候要以NASI格式保存

1.2从控制台打印输出张三的姓名和年龄

  • 从控制台打印输出字符串:“张三        18”
package com.company;

public class Main {

    public static void main(String[] args) {
	System.out.println("张三\n");
        System.out.println("18");
        System.out.println("张三\t18");//\t代表一个制表符
    }
}
//运行结果
张三

18
张三	18

1.3商品价目表

在控制台输出商品价目表

package com.company;

public class Main {

    public static void main(String[] args) {
	System.out.println("\t\t     购物清单");
        System.out.println("商品名称\t购买数量\t\t商品单价\t金额");
        System.out.println("鳄鱼夹克"+"\t"+"   1   "+"\t"+"    1900"+"\t"+"    1900");
        System.out.println("ipodMP4\t  \t   2 \t    400\t\t    800");
    }
}
//		                     购物清单
//                商品名称	购买数量		商品单价	金额
//                鳄鱼夹克	   1   	    1900	    1900
//                ipodMP4	  	   2 	    400		    800

1.4开发购物系统菜单

package com.company;

public class Main {

    public static void main(String[] args) {
        System.out.println("\t\t欢迎使用我行我素购物管理平台");
        System.out.println("*****************************************************");
        System.out.println("\t\t\t1.登录系统");
        System.out.println("\t\t\t2.退出");
        System.out.println("*****************************************************");

        System.out.println("\t\t欢迎使用我行我素购物管理平台");
        System.out.println("*****************************************************");
        System.out.println("\t\t\t1.客户信息管理");
        System.out.println("\t\t\t2.购物结算");
        System.out.println("\t\t\t3.真情回馈");
        System.out.println("\t\t\t4.注销");
        System.out.println("*****************************************************");

    }
}

第2章 Java语言基础

2.1输出Java课考试最高分:98.5
          输出最高分学生姓名:张三
          输出最高分学生性别:男

public static void main(String[] args) {
       double score = 98.5;
       String name = "张三";
       char sex = '男';

        System.out.println("最高分为:" + score);
        System.out.println("名字是:" + name);
        System.out.println("性别是:" + sex);
    }
}

2.2根据天数(46)计算周数和剩余的天数

 public static void main(String[] args) {
       int sumDay = 46;
       int week = sumDay/7;
       int day = sumDay%7;

        System.out.println("week = " + week);
        System.out.println("day = " + day);
    }
}

2.3已知圆的半径radius= 1.5,求其面积

 public static void main(String[] args) {
       double pi = 3.1415926;
       double radius = 1.5;
       double area = pi*radius*radius;
        System.out.println("area = " + area);
    }
}

2.4实现一个数字加密器

加密规则是
    加密结果 = (整数 * 10 + 5)/ 2 + 3.14159
加密结果仍为一整数

public static void main(String[] args) {
      int data = 100;
      int result = (data*10-5) / 2 + (int)3.14159;
        System.out.println("result = " + result);
    }
}

2.5打印购物小票

public static void main(String[] args) {
        double shopSum = 1104.0;
        int sum = 1500;
        double corn = sum - shopSum;
        System.out.println("**********消费单************");
        System.out.println("购买物品\t单价\t个数\t金额");
        System.out.println("T恤   \t\t245\t\t 2\t\t490");
        System.out.println("网球鞋\t\t570\t\t 1\t\t570");
        System.out.println("网球拍\t\t320\t\t 1\t\t320");
        System.out.println("折扣:\t\t8折");
        System.out.println("消费总金额\t" + shopSum);
        System.out.println("实际交费\t" + sum);
        System.out.println("找钱\t\t" + corn);
        System.out.println("本次购物所获得的积分是 33");
    }
}

2.6模拟幸运抽奖 

需求说明
商场推出幸运抽奖活动
抽奖规则
      顾客的四位会员卡号的
      各位数字之和大于20,
      则为幸运顾客

package com.company;

import java.util.Scanner;
public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入四位会员号:");
        int cutNo = scanner.nextInt();
        int individualBit = cutNo % 10;
        int tenDigit = cutNo / 10 % 10;
        int hundredPlaces = cutNo / 100 % 10;
        int thousandDigit = cutNo / 1000;
        int sum = individualBit + tenDigit + hundredPlaces + thousandDigit;

        System.out.println("会员号" + cutNo + "的各位和是:" + sum);
        System.out.println("该会员是不是幸运用户?");
        if(sum > 20){
            System.out.println("ture");
        } else
            System.out.println("false");
    }
}

2.7判断折扣价格

需求说明
用户从键盘接收商品折扣,并判断商品享受此折扣后价格是否低于100

package com.company;

import java.util.Scanner;
public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入折扣:");
        double disCount = scanner.nextDouble();
        //打完折的价格
        double T_Shirt = 245 * disCount;
        double sneakers = 570 * disCount;
        double racket = 320 * disCount;

        System.out.print("T恤折扣价格低于100吗?");
        if(T_Shirt < 100) {
            System.out.println("ture");
        } else
            System.out.println("false");
        System.out.print("网球鞋折扣价格低于100吗?");
        if(sneakers < 100) {
            System.out.println("ture");
        } else
            System.out.println("false");
        System.out.print("网球拍折扣价格低于100吗?");
        if(racket < 100) {
            System.out.println("ture");
        } else
            System.out.println("false");
    }
}

第3章 程序控制语句

3.1实现幸运抽奖

需求说明
抽奖规则:会员号的百位数字等于产生的随机数字即为幸运会员

package com.company;

import java.util.Scanner;
public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入四位卡号");
        int cutNo = scanner.nextInt();
        int random = (int)(Math.random()*10);
        int hundredPlaces = cutNo / 100 % 10;
        if (cutNo == random) {
            System.out.println(cutNo + "号客户是幸运用户,获精美MP3一个");
        } else
            System.out.println(cutNo + "号客户,谢谢您的支持!");
    }
}

3.2会员信息录入

需求说明
录入会员信息
判断录入的会员号是否合法

package com.company;

import java.util.Scanner;
public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入四位会员号:");
        int cutNo = scanner.nextInt();
        if (cutNo > 999 && cutNo < 10000) {
            System.out.println("您输入的会员号合法");
        } else
            System.out.println("您输入的会员号不合法");
        System.out.println("请输入会员生日(月/日<用两位数表示>):");

        //使用nextLine是获取整行的输入,enter之后结束
        //next是必须读入有效字符之后遇见空格才结束
        String barth = scanner.next();
         System.out.println("请输入积分:");
        int numberPoints = scanner.nextInt();

        scanner.close();


        System.out.println("已输入信息");
        System.out.println(cutNo +"\t"+ barth  + "\t" + numberPoints);
        }
    }

3.3输入小明的考试成绩,显示所获奖励

成绩==100分,爸爸给他买辆车
100分>成绩>=90分,妈妈给他买MP4
90分>成绩>=60分,妈妈给他买本参考书
成绩<60分,什么都不买

package com.company;

import java.util.Scanner;
public class Main {

    public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
        System.out.println("请输入小明的成绩:");
       int score = scanner.nextInt();
       if (score == 100) {
           System.out.println("爸爸给买辆车");
       } else if (score >= 90) {
           System.out.println("妈妈给买一个MP4");
       } else if (score >= 60) {
           System.out.println("妈妈给买一个辅导书");
       } else
           System.out.println("什么都不买");

        }
    }

3.4购物结算

package com.company;
import java.util.Scanner;

public class Test {


    public static void main(String[] args) {
      Scanner scanner = new Scanner(System.in);
        System.out.print("请输入是否是会员:是(y)/否(其他字符)");
        char numberPoint = scanner.next().charAt(0);
        System.out.println("请输入消费金额:");
        int shop = scanner.nextInt();

        if (numberPoint == 'y') {
            if (shop < 200) {
                double sumOne = shop * 0.8;
                System.out.println("实际支付 " + sumOne);
            } else {
                double sumTwo = shop * 0.75;
                System.out.println("实际支付  " + sumTwo);
            }
        } else if (shop < 100) {
            double sumThree = shop;
            System.out.println("实际支付 " + sumThree);
        } else {
            double sumFour = shop * 0.9;
            System.out.println("实际支付 " + sumFour);
        }
    }
}

3.5张三为他的手机设定了自动拨号

按1:拨爸爸的号
按2:拨妈妈的号
按3:拨爷爷的号
按4:拨奶奶的号

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
     Scanner scanner = new Scanner(System.in);
        System.out.println("请输入自动拨号快捷键");
     int code = scanner.nextInt();
     switch (code) {
         case 1 :
             System.out.println("爸爸");break;
          case 2 :
              System.out.println("妈妈");break;
         case 3 :
             System.out.println("爷爷");break;
         case 4 :
             System.out.println("奶奶");break;
         default :
             System.out.println("没有设置该快捷键");
     }
    }
}

3.6菜单跳转

需求说明
从登录菜单跳转到主菜单

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("\t\t欢迎使用我行我素购物系统");
        System.out.println("\t\t1.登陆系统");
        System.out.println("\t\t2.退出");
        System.out.println("******************************************");
        System.out.println("请选择输入数字:");
        int codeOne = scanner.nextInt();
        switch (codeOne) {
            case 1 :
                System.out.println("\t\t1.客户信息管理");
                System.out.println("\t\t2.客户结算");
                System.out.println("\t\t3.真情回馈");
                System.out.println("\t\t4.注销");
                System.out.println("请选择输入数字:");
                int codeTwo = scanner.nextInt();
                switch (codeTwo) {
                    case 1 :
                        System.out.println("显示所有客户信息");
                        System.out.println("添加客户信息");
                        System.out.println("修改客户信息");
                        System.out.println("查询客户信息");break;
                    case 2 :
                        break;
                    case 3 :
                        System.out.println("幸运大放送");
                        System.out.println("幸运抽奖");
                        System.out.println("生日问候");break;
                    case 4 :
                        System.out.println("感谢您的使用");break;
                }
                break;
            case 2 :
                System.out.println("感谢您的使用");break;
        }
    }
}

3.7实现商品换购

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入消费金额:");
        double shop = scanner.nextDouble();
        System.out.println("是否参加优惠换购活动");
        System.out.println("1.满50元,加2元换购百事可乐饮料1瓶");
        System.out.println("2.满100元,加3元换购500ml可乐一瓶");
        System.out.println("3.满100元,加10元换购5公斤面粉");
        System.out.println("4.满200元,加10元可换购一个苏泊尔炒菜锅");
        System.out.println("5.满200元,加20元可换购欧莱雅爽肤水一瓶");
        System.out.println("0.不换购");
        System.out.println("请选择:");
        int number = scanner.nextInt();
        switch (number) {
            case 0 :
                System.out.println("本次消费总额为:" + shop);
                break;
            case 1 :
                if (shop >= 50) {
                    shop += 2;
                    System.out.println("本次消费总额为:" + shop);
                    System.out.println("成功换购:百事可乐饮料1瓶");
                } else System.out.println("消费金额未达到");
                break;
            case 2 :
                if (shop >= 100) {
                    shop += 3;
                    System.out.println("本次消费总额为:" + shop);
                    System.out.println("成功换购:500ml可乐一瓶");
                } else System.out.println("消费金额未达到");
                break;
            case 3 :
                if (shop >= 100) {
                    shop += 10;
                    System.out.println("本次消费总额为:" + shop);
                    System.out.println("成功换购:5公斤面粉");
                } else System.out.println("消费金额未达到");
                break;
            case 4 :
                if (shop >= 200) {
                    shop += 10;
                    System.out.println("本次消费总额为:" + shop);
                    System.out.println("成功换购:一个苏泊尔炒菜锅");
                } else System.out.println("消费金额未达到");
                break;
            case 5 :
                if (shop >= 200) {
                    shop += 20;
                    System.out.println("本次消费总额为:" + shop);
                    System.out.println("成功换购:欧莱雅爽肤水一瓶");
                } else System.out.println("消费金额未达到");
                break;
        }
    }
}

3.8人数增长求年份

2012年培养学生25万人,每年增长25%。请问按此增长速度,到哪一年学生人数将达到100万人?

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        double students = 25000;
        int year = 2012;
        //不能用==进行比较
        while (students <= 1000000) {
            students = students * (1 + 0.25);
            year = year + 1;
        }
        System.out.println("students = " + year);
    }
}

3.9计算100以内的偶数之和

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
     int number = 1;
     double sum = 0;
     while (number <= 100) {
         if (number % 2 == 0) {
             sum += number;
             number ++;
         }
         else number ++;
     }
        System.out.println("100以内的偶数之和为:" + sum);
    }
}

3.10查询商品价格

循环输入商品编号,显示对应的商品价格
输入“n“结束循环

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("*********************************");
        System.out.println("请选择购买的商品编号:");
        System.out.println("1.T恤\t2.网球鞋\t3.网球拍");
        System.out.println("*********************************");

//将while设置为死循环,利用break退出
//刚开始老是想把结束条件'charTest == n' 放到do-while判断里面,一直报错
//查了半个小时还是不行,突然开窍了利用break语句跳出循环,成功解决
        while (true) {
            System.out.println("请输入商品编号:");
            int x = scanner.nextInt();
            switch (x) {
                case 1 :
                    System.out.println("T恤\t245.0");break;
                case 2 :
                    System.out.println("网球鞋\t570.0");break;
                case 3 :
                    System.out.println("网球拍\t320.0");break;
            }
            System.out.print("是否继续(y/n):");
            char charTest = scanner.next().charAt(0);
            if(y == 'n'){
                break;
            }
        }
        System.out.println("程序结束!");

    }
}

3.11购物结算

循环输入商品编号和购买数量
当输入n时结账
结账时计算应付金额并找零

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("*********************************");
        System.out.println("请选择购买的商品编号:");
        System.out.println("1.T恤\t2.网球鞋\t3.网球拍");
        System.out.println("*********************************");
        //必须要初始化,不然无法允许
        double sum = 0;
        while (true) {

            System.out.println("请输入商品编号:");
            int code = scanner.nextInt();
            System.out.println("请输入购买数量:");
            int number = scanner.nextInt();
            //发现新大陆了,赋值在switch里面的妙用
            double prices;
            switch (code) {
                case 1 :
                     prices = 245.0;
                    sum = prices * number;
                    System.out.println("T恤" + prices + "\t\t数量" + number + "\t\t合计" + (prices * number));break;
                case 2 :
                    prices = 570.0;
                    sum = prices * number;
                    System.out.println("网球鞋" + prices + "\t\t数量" + number + "\t\t合计" + (prices * number));break;

                case 3 :
                    prices = 320.0;
                    sum = prices * number;
                    System.out.println("网球拍" + prices + "\t\t数量" + number + "\t\t合计" + (prices * number));break;
            }
            System.out.print("是否继续(y/n):");
            char y = scanner.next().charAt(0);
            if(y == 'n'){
                break;
            }
        }
        System.out.print("折扣:");
        double discount = scanner.nextDouble();
        System.out.println("应付价格:" + (sum * discount));
        System.out.print("实付价格:");
        double act = scanner.nextDouble();

        if (act > (sum * discount)) {
            System.out.println("找零:" + (act - (sum * discount)));
        } else if (act == (sum * discount)) {
            System.out.println("找零:0.0");
        } else
            System.out.println("付款错误!!!");
        
        System.out.println("程序结束!");

    }
}

3.12输出摄氏温度与华氏温度的对照表

要求它从摄氏温度0度到250度,每隔20度为一项,对照表中的条目不超过10条。
    转换关系:华氏温度 = 摄氏温度 * 9 / 5.0 + 32

循环操作:计算摄氏温度,并输出对照条目
循环条件:
条目<=10 && 摄氏温度 <= 250

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        double celsiusTemp = 0;
        int count = 0;
        do {
            double fahrenheitTemp = celsiusTemp * 9 / 5.0 + 32;
            celsiusTemp += 20;
            count ++;
            System.out.print("摄氏温度:" + celsiusTemp);
            System.out.println("\t\t华氏温度:" + fahrenheitTemp);
        } while (count <= 10 && celsiusTemp <= 250);
    }
}

3.13升级菜单切换

需求说明
如果用户输入错误,可以重复输入直到输入正确,执行相应的操作后退出循环

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
      Scanner scanner = new Scanner(System.in);
        System.out.println("******************************");
        System.out.println("\t1.客户信息管理");
        System.out.println("\t2.购物结算");
        System.out.println("\t3.真情回馈");
        System.out.println("\t4.注销");
        System.out.println("******************************");

        System.out.print("请输入数字:");
        do {
            int code = scanner.nextInt();
            if (code > 4 || code < 1) {
                System.out.println("您输入的数字错误,请再次输入:");
            } else {
                switch (code) {
                    case 1 :
                        System.out.println("执行客户信息管理");break;
                    case 2 :
                        System.out.println("执行购物结算");break;
                    case 3 :
                        System.out.println("执行真情回馈");break;
                    case 4 :
                        System.out.println("执行注销");break;
                }
                break;
            }
        } while (true);
        System.out.println("程序结束");
    }
}

3.14求1~100之间不能被3整除的数之和

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
     int sum = 0;
        for (int i = 0; i <= 100; i++) {
            if (i % 3 == 0) {
                continue;
            } else
                sum += i;
        }
        System.out.println("1~100之间不能被3整除的数之和" + sum);
    }
}

3.15计算100以内的奇数之和

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        //计算100以内的奇数之和
        int sum = 0;
        for (int i = 1; i <= 100; i ++) {
            if (i % 2 == 0) {
                continue;
            } else 
                sum += i;
        }
        System.out.println("sum = " + sum);
    }
}

3.16计算顾客比例

需求说明
商场对顾客的年龄层次进行调查
计算各年龄层次的顾客比例

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double sum = 0 , s = 0;
        for (int i = 1; i <=10; i ++) {
            System.out.print("请输入第" + i + "位顾客的年龄: ");
            int age = scanner.nextInt();
            if (age <= 30) {
                sum += 1;
            } else s += 1;
        }
        System.out.println("小于30岁的顾客比例为:" + sum / 10 *100 + "%");
        System.out.println("大于30岁的顾客比例为:" + s / 10 *100 + "%");
    }
}

3.171~10之间的整数相加,得到累加值大于20的当前数

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 10; i ++) {
            sum += i;
            if (sum > 20) {
                break;
            }
        }
        System.out.println("sum = " + sum);
    }
}

3.18求1~10之间的所有偶数和

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 10; i ++) {
            if (i % 2 == 0) {
                sum += i;
            } else continue;
        }
        System.out.println("sum = " + sum);
    }
}

3.19循环录入会员信息

需求说明
循环录入3位会员的信息
会员号合法,显示录入
    信息;否则显示录入失败

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
       int sum = 0;
       for (int i = 0; sum < 3; i++) {
           System.out.print("请输入会员号<四位整数>:");
           int number = scanner.nextInt();
           if(number < 1000 || number > 9999) {
               System.out.println("录入失败,重新录入");
               continue;
           }
           System.out.print("请输入会员生日(月/日<用两位数表示>)");
           String bath = scanner.next();

           System.out.print("请输入会员积分:");
           int code = scanner.nextInt();

           System.out.println("您录入的会员信息是:");
           System.out.println(number + "\t" + bath  + "\t" + code);
           sum ++;
           System.out.println("\n");
       }
        System.out.println("程序结束!");
    }
}

4.1 有一个数列:

8,4,2,1,23,344,12
循环输出数列的值
求数列中所有数值的和
猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        double sum = 0;
        int[] number = {8,4,2,1,23,344,12};
        for (int i = 0; i < number.length; i++) {
            System.out.println(number[i]);
            sum += number[i];
        }
        System.out.println("sum = " + sum);

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入数据:");
        int input = scanner.nextInt();
        for (int i = 0; i < number.length; i++) {
            if (input == number[i]) {
                System.out.println("你猜对了");
                break;
            } else if (i == number.length - 1) {
                System.out.println("猜错了");
                break;
            }
        }
    }
}

4.2显示商品名称


public class Test {
    public static void main(String[] args) {
        System.out.println("本次活动的特价商品有:");
        String[] next = {"Nike背包", "Adidas运动衫", "李宁运动鞋", "Kappa外套","361腰包"};
        for (int i = 0; i < next.length; i++) {
            System.out.println(next[i]);
        }
    }
}

4.3购物金额结算

需求说明
以表格的形式输出5笔购物金额及总金额

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        double[] shop = new double[5];
        double sum = 0;
        System.out.println("请输入会员本月的消费记录:");
        Scanner scanner = new Scanner(System.in);

        for (int i = 0; i < shop.length; i++) {
            System.out.print("请输入第" + (i + 1) + "笔消费金额:");
            shop[i] =  scanner.nextDouble();
        }

        System.out.println("序号\t\t\t金额");
        for (int i = 0; i < shop.length; i++) {
            System.out.println((i + 1) + "\t\t\t\t" + shop[i]);
            sum += shop[i];
        }
        System.out.println("总金额\t\t\t" + sum);

    }
}

4.4求最低价格

需求说明
求出4家店的最低手机价格

package com.company;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        double[] price = new double[4];
        System.out.println("请输入4家手机的价格:");
        Scanner scanner = new Scanner(System.in);
        for (int i = 0; i < price.length; i++) {
            System.out.print("第" + (i + 1) + "家店的价格:");
            price[i] = scanner.nextDouble();
        }
        double min = price[0];
        for (int i = 1; i < price.length; i++) {
            if (min > price[i]) {
                min = price[i];
            }
        }
        System.out.println("该手机的最低价格为:" + min);

    }
}

4.5插入算法

有一组学员的成绩{99,85,82,63, 60},将它们按升序排列。要增加一个学生的成绩,将它插入成绩序列,并保持升序

package com.company;
import java.util.Arrays;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double[] scores = {99, 85, 82, 63, 60};
        Arrays.sort(scores);
        System.out.println("Arrays.toString(scores) = " + Arrays.toString(scores));

        double[] newScores = new double[scores.length + 1];
        //循环次数要以短的为标准,不然会报错
        for (int i = 0; i < scores.length; i++) {
            newScores[i] = scores[i];
        }
        System.out.println("请输入插入数据:");
        double newScore = scanner.nextDouble();
        System.out.println("输入插入位置:");
        int insert = scanner.nextInt();
        for (int i = insert - 1; i < newScores.length; i++) {
            double temp = newScores[i];
            newScores[i] = newScore;
            newScore = temp;
        }
        Arrays.sort(newScores);
        System.out.println(Arrays.toString(newScores));
    }
}

4.6字符逆序输出

需求说明
将 一组乱序的字符进行排序
进行升序和逆序输出

package com.company;
import java.util.Arrays;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {

        System.out.print("原字符序列:");
        char[] code = {'a','c','u','b','e','p','f','z'};
        System.out.println("Arrays.toString(code) = " + Arrays.toString(code));
        Arrays.sort(code);

        System.out.print("升序排序后:");
        for (int i = 0; i < code.length; i ++) {
            System.out.print(code[i] + " ");
        }
        System.out.print("\n");
        System.out.print("逆序输出为:");
        for (int j = code.length - 1; j >= 0; j --) {
            System.out.print(code[j] + " ");
        }
    }
}

4.7向有序序列中插入字符

需求说明
在上一个练习的基础上改进
一组有序的字符序列a、b、c、e、f、p、u、z,向次字符序列中插入一个新的字符,要求插入之后字符序列仍保持有序

package com.company;
import java.util.Arrays;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("原字符序列:");

        String[] code = {"a","b","c","e","f","p","u","z"};
        String[] newCode = new String[9];
        for (int i = 0; i < code.length; i ++) {
            System.out.print(" " + code[i]);
            newCode[i] = code[i];
        }
        System.out.print("\n");
        System.out.print("待插入的字符是:");
        String newChar = scanner.next();
        System.out.print("插入位置:");
        int newNumber = scanner.nextInt();
        
        //插入位置数据都向后移动,要从后往前换,不然都是原插入位置的数据
        for (int j = newCode.length-1; j > newNumber; j --) {
            newCode[j] = newCode[j - 1];
            }
        newCode[newNumber] = newChar;
        Arrays.sort(newCode);
        System.out.print("插入后的字符序列为:");
        System.out.println(" " + Arrays.toString(newCode));
    }
}

4.8打印直角三角形

package com.company;
import java.util.Arrays;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入直角三角形的行数:");
        int number = scanner.nextInt();
        for (int i = 1; i <= number ; i++) {
            for (int j = i; j<= i * 2 - 1; j ++) {
                System.out.print("*");
            }
            System.out.print("\n");
        }
    }
}

4.9打印倒直角三角形

package com.company;
import java.util.Arrays;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
     Scanner scanner = new Scanner(System.in);
        System.out.println("请输入三角形行数:");
        int number = scanner.nextInt();

        for (int i = 0; i < number; i ++) {
            for (int j = number-i; j >= 1; j -- ) {
                System.out.print("*");
            }
            System.out.print("\n");
        }
    }
}

4.10打印等腰三角形

package com.company;
import java.util.Arrays;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入三角形行数:");
        int number = scanner.nextInt();
        for (int i = 1; i <= number ; i++) {

            for ( int j = number - i; j > 0; j --) {
                System.out.print(" ");
            }
            for (int s = 1; s <= 2 * i - 1; s ++) {
                System.out.print("*");
            }
            System.out.print("\n");
        }
    }
}

4.11打印九九乘法表

package com.company;
import java.util.Arrays;
import java.util.Scanner;

public class Test {
    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 + "=" + i * j + "\t");
            }
            System.out.print("\n");
        }
    }
}

4.12统计打折商品的数量

需求说明
有3名顾客去商场购物,每人买3件商品
商品单价300元以上的商品享受8折优惠
请统计每人享受打折优惠的商品的数量

package com.company;
import java.util.Arrays;
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
       for (int i = 1; i <= 3; i ++){
           int sum = 0;
           System.out.println("请输入第" + i + "个人购买的3种商品价格");
           for (int j = 1; j <= 3; j ++) {
               double price = scanner.nextDouble();
               if (price >= 300) {
                   sum += 1;
               }
           }
           System.out.println("第" + i + "个人共有" + sum + "件商品享受8折优惠");
       }
    }
}

  • 41
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

134明目

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值