首页 > 编程语言 >秦疆的Java课程笔记:41 流程控制 打印九九乘法表

秦疆的Java课程笔记:41 流程控制 打印九九乘法表

时间:2023-11-27 16:56:44浏览次数:39  
标签:24 九九乘法 Java int 打印 41 秦疆 public

  • 打印九九乘法表:
1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81

这是我自己的代码:

public class ForDemo4P {  
    public static void main(String[] args) {  
        for (int b = 1; b <= 9; b++) { 
            for (int a = 1; a <= 9; a++) {  
                if (a<b) {  
                    System.out.print(a + "*" + b + '=' + (a*b) + "\t");  
                } else if(a==b){  
                    System.out.print(a + "*" + b + '=' + (a*b) + "\t"+"\n");  
                }  
            }  
        }  
    }  
}
  • 效果是成功的,但是还不够简洁,我用了6行代码,秦疆老师只用了4行。

  • 因为我的思维中有一个盲区,就是a与b的比较其实可以放在for循环中。我对于这种嵌套还缺乏一种直觉,或者说,更大的缺憾在于,从分析问题、拆解问题开始的整个思维过程还不够“程序员”。

  • 下面是秦疆老师的代码:

public class ForDemo4A {  
    public static void main(String[] args) {  
        for (int b = 1; b <= 9; b++) {   //第二个for
            for (int a = 1; a <= b; a++) {   //第一个for
	            System.out.print(a + "*" + b + '=' + (a*b) + "\t");
	        }
		    System.out.println();
	    }
	}
}   
  • 重点其实是分析思路:
    1、 先打印第一列(也就是第一个for)
for (int a = 1; a <= 9; a++) {
	System.out.println(a + "*" + 1 + '=' + (a*b) );
}

2、把固定的1,再用一个循环包起来(第二个for)

for (int b = 1; b <= 9; b++) {
	for (int a = 1; a <= 9; a++) {
		System.out.print(a + "*" + b + '=' + (a*b) );
	}
}

3、去掉重复,就是在第一个for循环中规定a<=b

for (int b = 1; b <= 9; b++) {
	for (int a = 1; a <= b; a++) {
		System.out.print(a + "*" + b + '=' + (a*b) );
	}
}

4、调整样式,加入空格和换行。

for (int b = 1; b <= 9; b++) {
    for (int a = 1; a <= b; a++) {
	    System.out.print(a + "*" + b + '=' + (a*b) + "\t");
	}
	System.out.println();
}

标签:24,九九乘法,Java,int,打印,41,秦疆,public
From: https://www.cnblogs.com/Acolyte/p/17859757.html

相关文章

  • Discuz3.5版本整合Java 登录
    1.下载Discuz下载:官网Discuz-api-for-java下载:蓝奏云2.配置1.登录ucenter后台,应用管理,新建一个应用。以上配置uCenter如果能访问到http://172.16.22.103:13000/api/uc.php,就会显示通信成功2.修改Java配置运行testLogin()方法,如果不出意外会得到一个js代码,例:<scripttype="text/......
  • 关于Java内存模型
    (面试被问到,想到之前有个笔记,整理一下发出来。)内存模型可以理解为在特定的操作协议下,对特定的内存或高速缓存进行读写访问的过程抽象。不同架构的物理机器可以拥有不一样的内存模型,而Java虚拟机也有自己的内存模型。Java内存模型(JavaMemoryModel,JMM)是来屏蔽各种硬件和操作系统......
  • Typescript和Javascript的区别是什么?一文带您了解Typescript排名飙升的原因!
    看见了github上2023年编程语言的排行榜,Java竟然被typescript挤出了前三!Javascript的登顶得益于node.js 的出现,使js实现了在前后端的技术栈统一。那typescript为何又能在三足鼎立中占据一席之地呢?本文就对typescript进行一下概要介绍,本文并未涉及typescript的具体语法,注重分析Javas......
  • JavaWeb实现文件上传下载
    JavaWeb中实现文件上传下载使用jar包:smartupload.jar,该包封装了IO流的操作,如果使用Java自带的IO操作会比较繁琐文件上传的基本步骤@WebServlet(urlPatterns="/uploads",name="UploadServlet")//创建文件上传对象SmartUploadsmartupload=newSmartUpload();//初始化上传操......
  • geoserver指定JAVA_HOME路径
    /geoserver/bin/startup.sh修改这个启动文件的配置#GuardagainstmisconfiguredJAVA_HOMEif[-n"${JAVA_HOME:-}"]&&[!-x"${JAVA_HOME}/bin/java"];thenecho"TheJAVA_HOMEenvironmentvariableissetbutJAVA_HOME/bin/java&quo......
  • 【Java基础】面向对象
    关键字this关键字当前类对象的引用(地址)this构造方法的使用场景:super关键字代表父类存储空间的标识如果被调用的成员变量|成员方法在子类中不存在,那么"super."可以省略,而且本质上省略的是"this.",因为子类已经继承了父类的成员变量和成员方法。static关键字静态,修饰......
  • 分享一套适合二开的JAVA开源版本MES系统
    1、系统概述:万界星空科技免费MES、开源MES、商业开源MES、市面上最好的开源MES、MES源代码、适合二开的开源MES。1.万界星空开源MES制造执行系统的Java开源版本。开源mes系统包括系统管理,车间基础数据管理,计划管理,物料控制,生产执行,质量管理,库存管理,看板管理,数据分析等主体功能模块......
  • JavaWeb实现简单的文件上传和下载
    一、文件上传1.1文件上传的简单实现前端的标签介绍①需要一个<form>表单标签,请求方式为post请求PS:因为get请求时url有长度限制,而带有文件上传的url一般会超出get请求的长度限制,所以只能用post②<form>标签中需添加enctype属性,属性值必须为multipart/form-dataenctype属性:enc......
  • 【Jmeter】编写java脚本
    Jmeter开发java脚本主要的依赖包 使用idea创建项目1、创建java项目 2、导入依赖包 3、创建一个类,继承AbstractJavaSamplerClient类,并实现runtest方法和重写getDefaultParameters方法 getDefaultParameters方法中主要用来完成,界面需要传入的参数有哪些run......
  • JavaWeb实现文件上传下载功能实例解析
    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择......