for 循环打印图形
public class For { public static void main(String[] args) { //“使用双层for循环打印图形时,外层管行,内层管列”,那么是怎样的原理呢? 那么举个栗子!看下面: //炒栗子1:利用“*”打印出一个长宽为5的矩形图案 for(int i=1;i<=5;i++){ for(int k=1;k<=5;k++){ System.out.print("*"); } //小知识:print与println的区别在于println多了个换行符“\n”,等价于print("\n") System.out.println(); } /* 生成了如下图形: * ***** * ***** * ***** * ***** * ***** */ //炒栗子2:利用“*”分别打印出一个高为5的正直角三角形,和一个倒直角三角形 for(int i=1;i<=5;i++){ for(int k=1;k<=i;k++){ System.out.print("*"); } System.out.println(); } //重点:改变内循环的条件可以使列递增 /*生成正直角三角形 * * * ** * *** * **** * ***** */ for(int i=1;i<=5;i++){ for(int k=5;k>=i;k--){ System.out.print("*"); } //重点:同时改变内循环的初值和条件可使列递减。 System.out.println(); } /* 生成倒直角三角形 * ***** * **** * *** * ** * * */ //糖炒栗子3:作出个乘法口诀表 for(int i=1;i<=9;i++){ for(int k=1;k<=i;k++){ System.out.print(k+"*"+i+"="+i*k+"\t"); //重点:内部实现只不过是把星星替换成了一个拼接的字符串,由此可见其循环出的就是一个直角三角图形。 } //小知识:“\t”是水平制表符Tab键,会自动缩进空格使内容对齐 System.out.println(); } /* * 生成图形,自行脑补~~~ */ //爆炒栗子4:对元素为10个数字的数组进行冒泡排序 //冒泡原理:有n个数,那么就会冒n-1轮,每一轮都是从第一个元素开始,每次都是和它的下一个比,冒出的就不用再管了。 int arr[]={1,50,32,65,17,54,25,77,69,100}; for(int i=0;i<arr.length-1;i++){ for(int k=0;k<=i;k++){ if(arr[k]>arr[k+1]){ int t=arr[k]; //arr[k+1]=arr[k]+arr[k+1]; arr[k]=arr[k+1]; //arr[k]=arr[k+1]-arr[k]; arr[k+1]=t; //arr[k+1]=arr[k+1]-arr[k]; } //这里我给出了两种替换方法,一个是借助第三个变量,一个是相互加减,不明白的我下面举个小栗子 } } for (int i=0;i<arr.length;i++){ System.out.println(arr[i]); } //小栗子:创建两个不相等的int型变量,不通过第三个变量使他们的值交换。 int c=5;int u=1; u=c+u; //u=6 c=5 c=u-c ; //u=6 c=1 u=u-c ; //u=1 c=5 先运算后赋值 System.out.println(c+","+u); //爆炒栗子5:依据上个栗子 从第10个元素开始冒泡排序 //我在思考冒泡算法的时候,首先脑海里会形成一个图形,然后立马就知道用什么形式的嵌套循环,把问题图形化。 for(int i=0;i<arr.length-1;i++){ for(int k=arr.length-1;k>i;k--){ if(arr[k]<arr[k-1]){ arr[k]=arr[k]+arr[k-1]; arr[k-1]=arr[k]-arr[k-1]; arr[k]=arr[k]-arr[k-1]; } } } for (int i=0;i<arr.length;i++){ System.out.println(arr[i]); } //最后举个干炒栗子(没难度,力气活):利用for循环输出以下图形 // 12345 // 2 4 // 3 3 // 4 2 // 54321 //经过上面的练习,其本质就是一个矩形图形。 只不过内层循环输出的东西不同罢了。 //第一行和第五行的循环规律类似,二至四行类似,且列是数和空格组成的。 for(int i=1;i<=5;i++){ for(int k=1;k<=5;k++){ if(i==1){ //第一行 System.out.print(k); }else if(i==5){ //第五行 System.out.print(i-k+1); }else{ //第二至四行 if(k==1){ //第一列 System.out.print(i); }else if(k==5){ //第五列 System.out.print(k-i+1); }else{ //第二至四列 System.out.print(" "); } } } System.out.println(); } } }
for 循环打印图形的更多相关文章
- java中使用二重循环打印图形
如图所示:打印沙漏图形 1:因为外层循环控制图形行数,所以首先判断这四个选项能否循环五次 2:以上四个循环的表达式都能循环五次,我们从内层循环入手. A:int i=0;i<5;i++ 当i=1 ...
- java08双重循环打印图形
// 九九乘法表 外层循环每执行一次,内层循环执行一遍 for (int i = 1; i <= 9; i++) { // 外层控制的是行数 for (int j = 1; j <= i; ...
- java基础08 双重循环打印图形
public class Double01 { /** * 若有3个班级各4名学员参赛, * 如何计算每个班级参赛学员的平均分? */ public static void main(String[] ...
- C#利用for循环打印图形练习题
(1) namespace ConsoleApp2 { class Program { static void Main(string[] args) { ; i < ; i++)//外层循环控 ...
- python中for嵌套打印图形
# 打印出九九乘法表 1 * 1 = 1 2 * 1 = 2 2 * 2 = 4 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 4 * 1 = 4 4 * 2 = 8 4 * 3 = 1 ...
- [Python] For 嵌套循环打印图形 nested loop-练习题答案
前一篇:[Python] For 嵌套循环打印图形 nested loop-练习题 [python的for循环嵌套打印如下图形] 图形一: 输出结果: ******* ******* ******* ...
- [Python] For 嵌套循环打印图形 nested loop - 练习题
[python的for循环嵌套打印如下图形] 图形一: ******* ******* ******* ******* 图形二: * *** ***** ******* 图形三: * *** **** ...
- C语言回滚(二)--循环打印
//1.用循环打印 /* FFEFEDFEDCFEDCBFEDCBA */ #include <stdio.h> #include<stdlib.h> int main(){ ...
- 编程题:利用for循环打印 9*9 表?
利用for循环打印 9*9 表? 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 ...
随机推荐
- jsp中如何判断el表达式中的BigDecimal==0
比较蠢一点的做法: <c:if test="${not ((someBigDecimal < 0) or (someBigDecimal > 0))}"> ...
- 使用CocoaPods过程中 Unable to find a specification for
文章转自:http://blog.csdn.net/zhangao0086/article/details/39703083 当把CocoaPods生成的workspace移动到上层目录时,需要改下P ...
- Java-Android【2】-弹出对话框
一.在Activity的方法中加入代码 new AlertDialog.Builder(this) .setTitle("Title") .setMessage("Mes ...
- 【转】oracle中rowid的用法 (全面)
ROWID是数据的详细地址,通过rowid,oracle可以快速的定位某行具体的数据的位置. ROWID可以分为物理rowid和逻辑rowid两种.普通的堆表中的rowid是物理rowid,索引组织表 ...
- css箭头
.aui-list-item-arrow:before { content: ''; width: 0.4rem; height: 0.4rem; position: absolute; top: 5 ...
- Python for Infomatics 第13章 网页服务四(译)
这几天因为其他事务,打断了自己的学习计划,今天继续我的翻译,避免又中途而废. 注:文章原文为Dr. Charles Severance 的 <Python for Informatics> ...
- c、c++ 常用函数记录
1.void* memcpy(char*dest, char*src, size_tnum) 将第二个参数拷贝到第一个参数,最后一个是长度. 2.void *memset(void *s, int ...
- VB6与VB.NET对照表
VB6与VB.NET对照表 VB6.0 VB.NET AddItem Object名.AddItem Object名.Items.Add ListBox1.Items.Add ComboBox1.It ...
- 网络流dinic实现总结
太羞耻了,搞了半天居然没发现自己写的不是dinic,直到被一道时限紧的题目卡掉才发现 int dfs(int now,int flow,int sum) { if(now==n) return flo ...
- 软件工程:Wordcount程序作业
由于时间的关系,急着交作业,加上这一次也不是那么很认真的去做,草草写了“Wordcount程序”几个功能,即是 .txt文件的读取,能计算出文件内容的单词数,文件内容的字符数,及行数. 这次选用C来做 ...