java基础08 双重循环打印图形
public class Double01 {
/**
* 若有3个班级各4名学员参赛,
* 如何计算每个班级参赛学员的平均分?
*/
public static void main(String[] args) {
// 创建一个2维数组保存数据
double[][] scores = new double[3][4];
// 循环输入学员的成绩
Scanner scanner = new Scanner(System.in);
// 定义一个变量 保存每个班级的总分
double sum = 0;
// 01.外层循环控制班级数
for (int i = 0; i < scores.length; i++) {
System.out.println("请您输入第" + (i + 1) + "个班级的学生成绩************");
// 02.内层循环控制学生人数
for (int j = 0; j < scores[i].length; j++) {
System.out.println("请您输入第" + (j + 1) + "个学生成绩");
scores[i][j] = scanner.nextDouble();
sum += scores[i][j];
}
System.out.println("第" + (i + 1) + "个班级的平均分是:"
+ (sum / scores[i].length));
// 总分清零 为了下个班级的总分计算
sum = 0;
}
}
}
1.计算每个班级平均分
public class Double02 {
/**
* 直角三角形
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入需要显示的行数:");
int num = scanner.nextInt();
// 外层循环控制行数
for (int i = 1; i <= num; i++) {
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println(); // 换行
}
System.out.println("========================");
// 倒三角
for (int i = 1; i <= num; i++) {
for (int j = 1; j <= num + 1 - i; j++) {
System.out.print("*");
}
System.out.println(); // 换行
}
}
}
2.打印直角三角形
public class Double03 {
/**
* 九九乘法表
*/
public static void main(String[] args) {
// 外层循环控制行数
for (int i = 1; i <= 9; i++) {
// 内层循环控制列 j<=i
for (int j = 1; j <= i; j++) {
System.out.print(i + "*" + j + "=" + (i * j) + "\t");
}
System.out.println();
}
}
}
3.打印九九乘法表
public class Double04 {
/**
* 冒泡排序
* 01.外层循环N-1 (N:数组的长度)
* 02.内层循环N-1-i (i:比较的轮数,外层循环的变量)
* 03.两两相比 小靠前!必须进行等量转换!互换位置!
*/
public static void main(String[] args) {
int[] nums = { 80, 20, 25, 30, 1, 8, 100, 72, 50 };
// 外层循环控制轮数
for (int i = 0; i < nums.length - 1; i++) {
// 内层循环控制比较次数
for (int j = 0; j < nums.length - 1 - i; j++) {
// 两两相比 小靠前! 如果后面的小,需要和前面的数据互换位置
if (nums[j + 1] < nums[j]) {
int temp = 0;
temp = nums[j + 1];
nums[j + 1] = nums[j];
nums[j] = temp;
}
}
}
System.out.println("排序之后的数组:" + Arrays.toString(nums));
}
}
4.冒泡排序
public class Double05 {
/**
* 若有3个班级各4名学员参赛,
* 如何计算每个班级参赛学员的平均分?
* 计算成绩大于85分的学生数量
*/
public static void main(String[] args) {
// 创建一个2维数组保存数据
double[][] scores = new double[3][4];
// 循环输入学员的成绩
Scanner scanner = new Scanner(System.in);
// 定义一个变量保存 大于85分的学生数量
int count = 0;
// 01.外层循环控制班级数
for (int i = 0; i < scores.length; i++) {
System.out.println("请您输入第" + (i + 1) + "个班级的学生成绩************");
// 02.内层循环控制学生人数
for (int j = 0; j < scores[i].length; j++) {
System.out.println("请您输入第" + (j + 1) + "个学生成绩");
scores[i][j] = scanner.nextDouble(); // 获取学生成绩
if (scores[i][j] < 85) {
continue; // 如果分数少于85 不计算次数
}
count++;
}
}
System.out.println("85分以上的学生人数是:" + count);
}
}
5.成绩大于85分的学生数
public class Double07 {
/**
* 有3名顾客去商场购物,每人买3件商品
商品单价300元以上的商品享受8折优惠
请统计每人享受打折优惠的商品的数量
*/
public static void main(String[] args) {
// 保存顾客打折的商品数量
int count = 0;
double price = 0;
Scanner scanner = new Scanner(System.in);
// 控制顾客的数量
for (int i = 1; i <= 3; i++) {
System.out.println("请输入第" + i + "名顾客购买的商品价格");
for (int j = 1; j <= 3; j++) {
price = scanner.nextDouble();
if (price < 300) {
continue;
}
count++;
}
System.out.println("第" + i + "名顾客打折的商品数量:" + count);
count = 0;
}
}
}
6.统计打折商品数量
// 正三角形
for (int i = 1; i <= 5; i++) {
// 先输出空格
for (int j = 1; j <= 5 - i; j++) {
System.out.print(" ");
}
// 打印 *
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println(); }
7.正三角形
// 打印平行四边形
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5 - i; j++) { // 空格
System.out.print(" ");
}
for (int j = 1; j <= 5; j++) { // *
System.out.print("*");
}
System.out.println();
}
8.打印平行四边形
// 正三角形
for (int i = 1; i <= 5; i++) {
// 先输出空格
for (int j = 1; j <= 5 - i; j++) {
System.out.print(" ");
}
// 打印 *
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println();
}
// 倒三角形 for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= i; j++) { // 空格
System.out.print(" ");
}
for (int j = 1; j <= 9 - 2 * i; j++) { // *
System.out.print("*");
}
System.out.println();
}
9.打印菱形
@Test
public void test01() {
/**
* 循环录入某学生5门课的成绩并计算平均分,
* 如果某分数录入为负,停止录入并提示录入错误
*/
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的姓名:");
String name = scanner.next();
double sum = 0;
// 循环获取用户的成绩
for (int i = 1; i <= 3; i++) {
System.out.println("请输入第" + i + "门课程的成绩:");
double score = scanner.nextDouble();
// 如果输入了负数 则跳出循环体
if (score < 0) {
System.out.println("您的输入有误!");
break;
}
sum += score; // 计算总成绩
}
// 对数字进行格式化
DecimalFormat df = new DecimalFormat("#.00");
System.out.println("平均分为:" + df.format((sum / 3)));
} @Test
// 10以内的整数相加,值大于20的时候输出并且跳出循环
public void test02() {
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum += i;
if (sum > 20) {
System.out.println(sum);
break;
}
}
} /**
* 循环录入Java课的学生成绩,
* 统计分数大于等于80分的学生比例
*/
@Test
public void test03() {
Scanner scanner = new Scanner(System.in);
System.out.println("请您输入班级的人数:");
int total = scanner.nextInt(); // 总人数
double score = 0; // 成绩
int sum = 0;// 记录大于80分的人数
for (int i = 1; i <= total; i++) { // 循环录入成绩
System.out.println("请输入第" + i + "门课程的成绩:");
score = scanner.nextDouble();
if (score >= 80) { // 如果成绩大于80 sum++
sum++;
continue; // 结束本次循环 执行i++语句 继续执行下次的循环
}
System.out.println("小于80分 才能执行这句话!");
}
// 输出百分比 sum(大于80)/total(总人数)
DecimalFormat df = new DecimalFormat("#.00%");
System.out.println("80分以上的百分比是:" + df.format(sum / (total + 0.0)));
} @Test
// 1-10之间的偶数和
public void test04() {
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (i % 2 != 0) { // 奇数就要不相加
continue;
}
sum += i;
}
System.out.println("偶数和是:" + sum); } @Test
// 双重循环中的 continue
public void test05() {
for (int i = 1; i <= 2; i++) {
for (int j = 1; j <= 3; j++) {
if (j == 2) {
break;
}
System.out.println("j" + j);
}
}
Scanner scanner = new Scanner(System.in);
String next = scanner.next();
System.out.println(next);
}
10.循环小练习
java基础08 双重循环打印图形的更多相关文章
- java08双重循环打印图形
// 九九乘法表 外层循环每执行一次,内层循环执行一遍 for (int i = 1; i <= 9; i++) { // 外层控制的是行数 for (int j = 1; j <= i; ...
- java中使用二重循环打印图形
如图所示:打印沙漏图形 1:因为外层循环控制图形行数,所以首先判断这四个选项能否循环五次 2:以上四个循环的表达式都能循环五次,我们从内层循环入手. A:int i=0;i<5;i++ 当i=1 ...
- java基础 ---- 练习for循环
----- 使用for循环打印图形 //打印矩形 public class Print { public static void main(String[] args) { for(int i=1 ...
- for 循环打印图形
public class For { public static void main(String[] args) { //"使用双层for循环打印图形时,外层管行,内层管列",那 ...
- java里如何实现循环打印出字符或字符数组里的内容
不多说,直接上干货! java里如何实现循环打印出字符里的内容 没写,暂时不会 java里如何实现循环打印出字符数组里的内容 public class test { public static voi ...
- java里如何实现循环打印出字符串或字符串数组里的内容
不多说,直接上干货! java里如何实现循环打印出字符串里的内容 思路:可以先将字符串转换成字符串数组. public class test { public static void main(Str ...
- Shell双重循环、图形排列及九九乘法表
Shell双重循环.图形排列及九九乘法表 目录 Shell双重循环.图形排列及九九乘法表 一.双重循环 1. 双重循环概述 2. 双重循环结构 二.循环特殊操作 1. exit 2. break 3. ...
- java基础二 分支循环
分支循环: if... if...else... if...else if... if...else if...else... switch...case...defau ...
- Java中使用二重循环打印沙漏图形
1.首先判断外层,A .B.C.D都符合条件 2.那么再看内层 A :int i=0;i<5;i++ 当i=1时;带入到第二个内层循环中 int j=0;j<Math.abs(i)*2+1 ...
随机推荐
- Effective Java-第三章
第3章 对于所有对都通用的方法 尽管Object是一个具体类,但是设计它主要是为了扩展,它所有的非final方法(equals,hashCode,toString,clone和finalize)都有明 ...
- make之eval函数
函数原型: $(eval text) 它的意思是 text 的内容将作为makefile的一部分而被make解析和执行. 需要注意的是该函数在执行时会对它的参数进行两次展开,第一次展开是由函数本身完成 ...
- 使用 OpCache 提升 PHP 性能
使用 OpCache 提升 PHP 性能 wdd2007wdd2007 .6k 1月29日 发布 推荐 推荐 收藏 收藏,.3k 浏览 OpCache 通过对 opcode 的缓存和优化来提升 PHP ...
- PHP学习笔记(15)PDO数据库操作+AJAX无刷新技术删除用户
pdo.php <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- 从浏览器输入URL回车发生了什么
在浏览器输入url后回车,整个过程发生了什么?整个过程如果节节细述的话,那非常的复杂.我就简单的描述一下整个过程 1.查询DNS,获取域名对应的IP地址 (1).浏览器搜索自身的DNS缓存 (2).搜 ...
- hadoop单节点配置
首先按照官网的单机去配置,如果官网不行的话可以参考一下配置,这个是配置成功过的.但是不一定每次都成功 http://hadoop.apache.org/docs/r2.6.5/ centos 6.7 ...
- @override 报错问题
Java的Eclipse工程换一台电脑后编译总是@override报错,把@override去掉就好了,但不能从根本上解决问题,因为有时候有@override的地方超级多. 这是jdk的问题,@Ove ...
- hihoCoder #1320 : 压缩字符串 区间dp
/** 题目:hihoCoder #1320 : 压缩字符串 链接:https://hihocoder.com/problemset/problem/1320 描述 小Hi希望压缩一个只包含大写字母' ...
- MapReduce实战(七)GroupingComparator
需求: Order_0000001,Pdt_01,222.8Order_0000001,Pdt_05,25.8Order_0000002,Pdt_05,325.8Order_0000002,Pdt_0 ...
- Android开发 获取当前activity的屏幕截图(转载)
首先通过下面的函数获取Bitmap格式的屏幕截图: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 pu ...