练习题源自老师的课件例题及扩展,以单元划分
第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折优惠");
}
}
}