Java基础_循环嵌套_打印乘法口诀、菱形,各种图形,计算二元一次和三元一次方程组_7
循环嵌套
打印乘法口诀
for(int j=1;j<=9;j++){
for(int i=1;i<=j;i++){
System.out.print(i+"*"+j+"="+i*j+"\t");
}
//换行
System.out.println();
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
倒乘法口诀

for(int j=9;j>=1;j--){
for(int i=1;i<=j;i++){
System.out.print(i+"*"+j+"="+i*j+"\t");
}
//换行
System.out.println();
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
打印长方形

for(int j=1;j<=4;j++){//j:控制行数
//*********
for(int i=1;i<=9;i++){//i:控制*的个数
System.out.print("*");
}
//换行:
System.out.println();
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
距离前面有一定空隙的长方形:

for(int j=1;j<=4;j++){//j:控制行数
//加入空格:
for(int i=1;i<=(9-j);i++){//i:控制空格的个数
System.out.print(" ");
}
//*********
for(int i=1;i<=9;i++){//i:控制*的个数
System.out.print("*");
}
//换行:
System.out.println();
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
平行四边形

for(int j=1;j<=4;j++){//j:控制行数
//加入空格:
for(int i=1;i<=(9-j);i++){//i:控制空格的个数
System.out.print(" ");
}
//*********
for(int i=1;i<=(2*j-1);i++){//i:控制*的个数
System.out.print("*");
}
//换行:
System.out.println();
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
打印三角形

for(int j=1;j<=4;j++){//j:控制行数
//加入空格:
for(int i=1;i<=(9-j);i++){//i:控制空格的个数
System.out.print(" ");
}
//*********
for(int i=1;i<=(2*j-1);i++){//i:控制*的个数
System.out.print("*");
}
//换行:
System.out.println();
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
打印菱形

可以看成两个三角形拼成一个菱形
//上面三角形:
for(int j=1;j<=4;j++){//j:控制行数
//加入空格:
for(int i=1;i<=(9-j);i++){//i:控制空格的个数
System.out.print(" ");
}
//*********
for(int i=1;i<=(2*j-1);i++){//i:控制*的个数
System.out.print("*");
}
//换行:
System.out.println();
}
//下面三角形:
for(int j=1;j<=3;j++){//j:控制行数
//加入空格:
for(int i=1;i<=(j+5);i++){//i:控制空格的个数
System.out.print(" ");
}
//*********
for(int i=1;i<=(7-2*j);i++){//i:控制*的个数
System.out.print("*");
}
//换行:
System.out.println();
}
- 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
打印空心菱形

//上面三角形:
for(int j=1;j<=4;j++){//j:控制行数
//加入空格:
for(int i=1;i<=(9-j);i++){//i:控制空格的个数
System.out.print(" ");
}
//*********
for(int i=1;i<=(2*j-1);i++){//i:控制*的个数
if(i==1||i==(2*j-1)){
System.out.print("*");
}else{
System.out.print(" ");
}
}
//换行:
System.out.println();
}
//下面三角形:
for(int j=1;j<=3;j++){//j:控制行数
//加入空格:
for(int i=1;i<=(j+5);i++){//i:控制空格的个数
System.out.print(" ");
}
//*********
for(int i=1;i<=(7-2*j);i++){//i:控制*的个数
if(i==1||i==(7-2*j)){
System.out.print("*");
}else{
System.out.print(" ");
}
}
//换行:
System.out.println();
}
- 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
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
进阶打印菱形和空心菱形(换一种思路)
菱形
可以把菱形看成一个正方形,在相应位置打空,在相应位置打*
public class TestFor14{
public static void main(String[] args){
//先打印出一个正方形,然后某些位置上打印* 某些位置上打印空格:
int size = 17;
int startNum = size/2+1;//起始列号
int endNum = size/2+1;//结束列号
//引入一个布尔类型的变量---》理解为“开关”
boolean flag = true;
for(int j=1;j<=size;j++){
//*****
for(int i=1;i<=size;i++){
if(i>=startNum&&i<=endNum){
System.out.print("*");
}else{
System.out.print(" ");
}
}
//换行
System.out.println();
if(endNum==size){
flag = false;
}
if(flag){//flag是true相当于在菱形的上半侧 flag是false相当于在菱形的下半侧
startNum--;
endNum++;
}else{
startNum++;
endNum--;
}
}
}
}
- 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
- 28
- 29
- 30
- 31
- 32
- 33
空心菱形
public class TestFor14{
public static void main(String[] args){
//先打印出一个正方形,然后某些位置上打印* 某些位置上打印空格:
int size = 17;
int startNum = size/2+1;//起始列号
int endNum = size/2+1;//结束列号
//引入一个布尔类型的变量---》理解为“开关”
boolean flag = true;
for(int j=1;j<=size;j++){
//*****
for(int i=1;i<=size;i++){
if(i==startNum||i==endNum){//和实心菱形只有这行不一样
System.out.print("*");
}else{
System.out.print(" ");
}
}
//换行
System.out.println();
if(endNum==size){
flag = false;
}
if(flag){//flag是true相当于在菱形的上半侧 flag是false相当于在菱形的下半侧
startNum--;
endNum++;
}else{
startNum++;
endNum--;
}
}
}
}
- 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
- 28
- 29
- 30
- 31
- 32
- 33
计算二元一次方程组
1<=a<=5
3<=b<=6
求出a+b=7中a和b的所有可能性
public static void main(String[] args){
for(int a=1;a<=5;a++){
for(int b=3;b<=6;b++){
if(a+b==7){
System.out.println(a+"----"+b);
}
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
三元一次方程组
百钱买白鸟
公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。
数学:
设未知数:
公鸡:x只
母鸡:y只
小鸡:z只
x+y+z=100只
5x+3y+z/3=100钱
- 1
- 2
- 3
- 4
- 5
- 6
- 7
方式1(比较麻烦)
for(int x=1;x<=100;x++){
for(int y=1;y<=100;y++){
for(int z=1;z<=100;z++){
if((x+y+z==100)&&(5*x+3*y+z/3==100)&&(z%3==0)){
System.out.println(x+"\t"+y+"\t"+z);
}
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
方式2(优化)
100文做多买公鸡19只,母鸡31只,小鸡100-公鸡-母鸡
for(int x=1;x<=19;x++){
for(int y=1;y<=31;y++){
int z = 100-x-y;
if((5*x+3*y+z/3==100)&&(z%3==0)){
System.out.println(x+"\t"+y+"\t"+z);
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
有不懂的地方可以私信~
内容来源于马士兵教育赵姗姗老师的Java笔记。
原文章:https://blog.csdn.net/qq_44173324/article/details/112093354
Java基础_循环嵌套_打印乘法口诀、菱形,各种图形,计算二元一次和三元一次方程组_7的更多相关文章
- Java基础知识强化07:打印出空心菱形
1.如图打印出空心菱形: 2.下面是逻辑实现代码: package himi.hebao04; import java.util.Scanner; public class TestDemo08 { ...
- 例题:打印乘法口诀。可能大家一看有点难,但只要理解for 循环嵌套,两层循环,外层循环行数,里层循环列数,搞清楚行数和列数之间的关系,就可以轻松做出这道题
namespace 打印乘法口诀{ class Program { static void Main(string[] args) { f ...
- Java基础-集合的嵌套
Java基础-集合的嵌套 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.静态导入 静态导入是在JDK1.5后的新特性,可以减少开发的代码量,但是实际用处是很一般,静态导入的标准 ...
- C语言基础练习——打印乘法口诀表
C语言基础练习--打印乘法口诀表 JERRY_Z. ~ 2020 / 8 / 26 转载请注明出处! 代码: /* * @Author: JERRY_Z. * @Date: 2020-08-26 16 ...
- Java基础-IO流对象之打印流(PrintStream与PrintWriter)
Java基础-IO流对象之打印流(PrintStream与PrintWriter) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.打印流的特性 打印对象有两个,即字节打印流(P ...
- Python打印乘法口诀表
思路:第一行:1*1,第二行:1*2.,2*2,第三行:1*3,2*3,3*3-- 最后一行:1*9,2*9,3*9,-9*9,以此类推,可以设2个数:i,j:让 i 从1循环到9,让 j 从1到小于 ...
- php打印乘法口诀表
<?php $n=9; //动态控制乘法口诀表的行数 echo"<table>"; //外层循环控制行数 for($i=1;$i<=$n;$i++){ // ...
- 【Python】【demo实验2】【打印乘法口诀表】
打印乘法口诀表 源代码: # encoding=utf-8 for i in range(1,10): print("\n") for j in range(1,10): if i ...
- Java 简单算法--打印乘法口诀(只使用一次循环)
package cn.magicdu.algorithm; /** * 九九乘法口诀表 * * @author xiaoduc * */ public class NineNineMulitTable ...
随机推荐
- svchost服务(DLL服务)
相比于exe服务,DLL服务只需要一个dll,而且运行是通过svchost.exe来运行的,同时安装和卸载的时候需要自己手动修改相关注册表.原理及其细节就不多说了,直接上代码吧(我写的这个是创建新组然 ...
- Root mapping definition has unsupported parameters
使用ElasticSearch创建映射报错 Root mapping definition has unsupported parameters 原因 使用的ES版本为7.2.0,不再支持创建指定类型 ...
- vmware vpshere 安装完的必备工作
1:例如:vCenter计算机地址为:192.168.0.200, 访问地址:https://192.168.0.200,安装证书: 参考教程:https://blog.csdn.net/cooljs ...
- Django(10)ORM模型介绍
前言 随着项目越来越大,采用写原生SQL的方式在代码中会出现大量的SQL语句,那么问题就出现了: 1.SQL语句重复利用率不高,越复杂的SQL语句条件越多,代码越长.会出现很多相近的SQL语句. 2. ...
- ZwQuerySystemInformation枚举内核模块
在内核中通过调用此函数来枚举windows系统中已经加载的内核模块. NTSTATUS ZwQuerySystemInformation ( SYSTEM_INFORMATION_CLASS Syst ...
- 【近取 Key】Alpha - v1.0 测试报告
Bug 前端 主页.登录.注册.导航 bug说明 修复方法 修复结果 导航栏有时不显示用户姓名 修改用户信息的获取逻辑与存储方式 成功 展示词图界面导航栏居右失败 在组件中增加自适应相关设置 成功 用 ...
- Python编写abaqus后处理脚本(学习笔记)
本节内容参考自书籍<Python语言在Abaqus中的应用>,注意:以下代码为伪代码,仅供参考 1.导入必要的模块,加载后处理odb文件 from abaqus import * from ...
- Nacos C++客户端开发文章
前段时间关注了下阿里巴巴发起的开源项目Nacos,这是一个注册.配置中心(Naming And Config),支持各种语言的客户端,但是唯独没有C++的,考虑到以前做过一段时间的C++程序员,不禁一 ...
- Cookie&Session-授课
1 会话技术 1.1 会话管理概述 1.1.1 什么是会话 会话:浏览器和服务器之间的多次请求和响应 为了实现一些功能,浏览器和服务器之间可能会产生多次的请求和响应,从浏览器访问服务器开始,到访问服务 ...
- 7.CentOS文件和目录 以及系统与设置命令
CentOS文件和目录 etc------系统中的配置文件 bin------系统预设执行文件的放置目录 sbin------系统预设执行文件的放置目录 usr------系统预设执行文件的放置目录 ...