Java编程之双重循环打印图形

双重循环打印顶点在左上的直角三角形:

public static void main(String[] args) {
  // TODO Auto-generated method stub
  int num=0;
  System.out.println("请输入直角三角形的行数:");
  Scanner input=new Scanner(System.in);
  num=input.nextInt();
  for(int i=1;i<=num;i++){
    for(int k=1;k<=num-i+1;k++){
      System.out.print("*");
    }
    System.out.print("\n");
  }
}

打印顶点在左下的直角三角形

public static void main(String[] args) {
  int rows=0;
  System.out.println("请输入要求的三角形的行数:");
  Scanner input=new Scanner(System.in);
  rows=input.nextInt();
  for(int i=1;i<=rows;i++){
    for(int j=1;j<=2*i-1;j++){
      System.out.print("*");
    }
    System.out.print("\n");
  }
}

打印定点在右上的直角三角形

public static void main(String[] args) {
  int num=0;
  System.out.println("请输入三角形所需要的行数:");
  Scanner input=new Scanner(System.in);
  num=input.nextInt();
  for(int i=1;i<=num;i++){
    for(int k=num;k>num-i+1;k--){
      System.out.print(" ");
    }
    for(int j=num;j>=i;j--){
      System.out.print("*");
    }
    System.out.println();
  }
  System.out.println();
}

打印定点在右下的直角三角形

public static void main(String[] args) {
  int num=0;
  System.out.println("请输入打印的三角形行数:");
  Scanner input=new Scanner(System.in);
  num=input.nextInt();
  for(int i=1;i<=num;i++){
    for(int k=num;k>0;k--){
      if(k<=i){
        System.out.print("*");
      }else{
        System.out.print(" ");
      }
    }
    System.out.println();
  }
}

打印顶点在上的等腰三角形:

public static void main(String[] args) {
  int num=0;
  System.out.println("请输入要打印三角形的行数:");
  Scanner input=new Scanner(System.in);
  num=input.nextInt();
  for(int i=1;i<=num;i++){
    for(int k=0;k<=num-i;k++){
      System.out.print(" ");
    }
    for(int j=1;j<=2*i-1;j++){
      System.out.print("*");
    }
    System.out.print("\n");
  }
}

打印顶点在下的等腰三角形

public static void main(String[] args) {
  int num=0;
  System.out.println("请输入要求的三角形行数:");
  Scanner input=new Scanner(System.in);
  num=input.nextInt();
  for(int i=1;i<=num;i++){
    for(int m=num-1;m>num-i;m--){
      System.out.print(" ");
    }
    for(int j=num;j>=i;j--){
      System.out.print("* ");
    }
    System.out.println();
  }
}

打印矩形

public static void main(String[] args) {
  for(int i=0;i<5;i++){
    for(int j=0;j<5;j++){
      System.out.print("*");
    }
    System.out.print("\n");
  }
}

打印空心菱形和实心菱形

public static void main(String[] args) {
   int hangshu = 11;
    int yiban = hangshu / 2 + 1;
    int yibanduo = hangshu / 2;
    System.out.println("空心菱形:");
    for(int k = 1;k <= yiban;k++){
      for(int i = 1;i <= (yiban - k);i++){
        System.out.print(" ");
      }
      System.out.print("*");
      for(int i = 1;i <= ( (k - 2) * 2 + 1);i++){
        System.out.print(" ");
      }
      if(k != 1){
        System.out.print("*");
      }
      System.out.println();
    }
    for(int k = yibanduo;k >=1;k--){
      for(int i = 1;i <= (yiban - k);i++){
        System.out.print(" ");
      }
      System.out.print("*");
      for(int i = 1;i <= ( (k - 2) * 2 + 1);i++){
        System.out.print(" ");
      }
      if(k != 1){
        System.out.print("*");
      }
      System.out.println();
    } 

    System.out.println("实心菱形:");
    for(int i = 1;i <= hangshu;i++){
      if(i <= hangshu/2 + 1){
        for(int k = 1;k <= hangshu/2 + 1- i;k++){
          System.out.print(" ");
        }
        for(int k = 1;k <= i;k++){
          System.out.print("* ");
        }
          System.out.println();
      }else{
        for(int k =1;k <= (i -(hangshu/2 + 1));k++){
          System.out.print(" ");
        }
        for(int k = 1;k <= (2 *(hangshu/2 + 1) - i);k++){
          System.out.print("* ");
        }
        System.out.println();
      }
    }
}

打印平行四边形

public static void main(String[] args) {
   for (int i = 0; i < 5; i++) {//打印行
      for (int j = 0; j < 4-i; j++) {//打印空格
        System.out.print(" ");//引号中间加空格
      }
      for (int j = 0; j < 6; j++) {//打印列
        System.out.print("*"); 

      }
      System.out.println();//换行
    }
}

打印九九乘法表

public static void main(String[] args) {
  int num=9;
  for(int i=1;i<=num;i++){
    for(int j=1;j<=i;j++){
      System.out.print(j+"*"+i+"="+j*i+" ");
    }
    System.out.println();
  }
}

九九除法表

public class TestNineNine {
	public static void main(String[] args) {
		for (int b=1;b<=9;b++) {
			for (int a=1;a<=9;a++) {
				int c = a*b;
				System.out.print(c+"/"+a+"="+b+"\t");
			}
			System.out.println();
		}
	}

总结

以上就是本文关于Java编程之双重循环打印图形的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

Java编程几个循环实例代码分享

如有不足之处,欢迎留言指出。

(0)

相关推荐

  • java中for循环删除集合陷阱

    首先看下面的代码: import java.util.LinkedList; import java.util.List; public class DeleteCollection { public static void main(String[] args) { List<String> list = new LinkedList<String>(); list.add("a"); list.add("b"); list.add(&qu

  • java高效打印一个二维数组的实例(不用递归,不用两个for循环)

    打印1个元素,不让循环变量i++,走出思维定式(执行一次循环体,就i++).public class OneForPrint2DArr { public static void main(String[] args) throws Exception { int[][] a = { { 1, 2, 3 }, { 4, 5} }; for (int i = 0, j = 0; i < a.length;) { System.out.println(a[i][j]); j++; if (j >=

  • java增强for循环的实现方法

    如下所示: package cn.jdk.foreach; import java.util.HashMap; import java.util.Map; public class ForEachTest { public static void main(String[] args) { int[] arr = {1,2,3}; for(int a:arr){ System.out.println(a+"\t"); } System.out.println("=======

  • Java中for循环的执行过程分析

    本文实例分析了Java中for循环的执行过程.分享给大家供大家参考.具体分析如下: public class Test01{ public static void main(String[] args) { int i = 0 ; for(foo('A');foo('B')&&i<3;foo('C')){ i++ ; foo('D') ; } } public static boolean foo(char c){ System.out.print(c + " "

  • Java中遍历数组使用foreach循环还是for循环?

    从JDK1.5起,增加了新功能Foreach,它是for循环遍历数据的一种简写形式,使用的关键字依然是for,但参数格式不同.其详细用法为: for(Type e:collection){ //对变量e的使用} 参数说明: e:其类型Type是集合或数组中元素值的类型,该参数是集合或数组collection中的一个元素. collections: 要遍历的集合或数组,也可以是迭代器. 在循环体中使用参数e,该参数是foreach从集合或数组以及迭代器中取得的元素值,元素值是从头到尾进行遍历的.

  • Java for循环几种写法整理

    Java for循环几种写法整理 概要: J2SE 1.5提供了另一种形式的for循环.借助这种形式的for循环,可以用更简单地方式来遍历数组和Collection等类型的对象.本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类,并解释和这一机制的一些常见问题. 在Java程序中,要"逐一处理"――或者说,"遍历"――某一个数组或Collection中的元素的时候,一般会使用一个for循环来实现(当然,用其它种类的循环也不是不可以,只是不知道是因为fo

  • Java中List for循环的6种写法总结(推荐)

    如下所示: List<String> list = new ArrayList<String>(); /** * 方法一:最普通的不加思考的写法 * <p> * 优点:较常见,易于理解 * <p> * 缺点:每次都要计算list.size() */ for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } /** * 方法二:数组长度提取出来 * <p&g

  • Java中增强for循环在一维数组和二维数组中的使用方法

    一维数组: int[] a={1,2,3}; for(int i:a) { System.out.print(i+" "); } 输出:1 2 3 二维数组: import java.util.Scanner; public class tet { public static void main(String[] args) { //int[][] b={{1,2,3},{4,5,6}};行 int[][] a=new int[5][];//必须明确行数 for(int i=0;i&l

  • Java编程之双重循环打印图形

    双重循环打印顶点在左上的直角三角形: public static void main(String[] args) { // TODO Auto-generated method stub int num=0; System.out.println("请输入直角三角形的行数:"); Scanner input=new Scanner(System.in); num=input.nextInt(); for(int i=1;i<=num;i++){ for(int k=1;k<

  • Python 使用双重循环打印图形菱形操作

    如下所示: a = int(input("请输入菱形行数:")) m = a #空格 d = a #倒三角 for i in range(1, a + 1): # 先打印正三角 print(" " * (m - 1), "*" * (2 * i - 1)) #2个*参数: 第一个是:空格 第二个是: *根据规律组成 m -= 1 if i == a: # 临界点,开始打印倒三角 for y in range(1, a): print("

  • Java编程几个循环实例代码分享

    有关Java循环的内容,编程中还是比较常用的,下面分享给大家几个循环的示例代码,练习一下. 1.循环输出1到100之间所有能被3或能被4整除的数. package com.hz.loop02; /** * 1.循环输出1到100之间所有能被3或能被4整除的数. * @author ztw * */ public class Practice01 { public static void main(String[] args) { for (int i=1;i<=100;i++){ //判断下是否

  • Java编程用指定字符打印菱形实例

    学习Java 本身是一个挺枯燥的过程,说白了就是每天敲代码而已.但如果换一种思路,可以编写各种各样的程序,不仅加深对代码的理解,同时提高兴趣,这样十分有利于大家的学习.下面我们来看一个有趣的小实例. 如何实现用指定字符打印出一个菱形,代码如下. import java.util.Scanner; import java.util.regex.Matcher; public class test01 { private static int i; private String ch; public

  • java编程题之顺时针打印矩阵

    本文实例为大家分享了java顺时针打印矩阵的具体代码,供大家参考,具体内容如下 github:剑指offer编程题 import java.util.ArrayList; /** * * 剑指offer编程题(JAVA实现)--第19题:顺时针打印矩阵 * * 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如, 如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,1

  • Java编程实现从尾到头打印链表代码实例

    问题描述:输入一个链表的头结点,从尾巴到头反过来打印出每个结点的值. 首先定义链表结点 public class ListNode { int val; ListNode next = null; ListNode(int val){ this.val = val; } } 思路1:此题明显想到是利用栈的思想,后进先出,先遍历链表,依次将结点值进栈.最后在遍历栈出栈. public static Stack<Integer> printListReverse_Stack(ListNode li

  • Java编程实现打印螺旋矩阵实例代码

    直接上代码吧. 昨晚腾讯在线测试遇到的题. 螺旋矩阵是指一个呈螺旋状的矩阵,它的数字由第一行开始到右边不断变大,向下变大,向左变大,向上变大,如此循环. import java.util.Scanner; public class mysnakematrix { private int n; // private int a[][]; // 声明一个矩阵 private int value = 1; // 矩阵里数字的值 public mysnakematrix(int i) { this.n

  • JAVA用for循环打印空心菱形

    空心菱形如图所示 那么我们应该如何去写出来呢?这就不得不引出一个非常经典的案例,金字塔案例,菱形像不像是两个对称的金字塔呢?废话不多说了,上思路:(仅代表个人理解,欢迎指点) 1.首先我们要写出一个空心菱形,那么我们首先得把需求由繁化简,把他拆分成一个一个简单的需求, 1.1那我们就先写半个金字塔, 是不是很眼熟的结构,没错和九九乘法表类似的结构,上代码 for(int i = 1;i <= 5;i++){ //i代表层数,这个可以设置一个变量接收,随便几层都行,不一定非要是5 for(int

  • java编程题之从上往下打印出二叉树

    本文实例为大家分享了java从上往下打印出二叉树的具体代码,供大家参考,具体内容如下 github:剑指offer编程全部试题 import java.util.ArrayList; import java.util.Stack; /** * * 剑指offer编程题(JAVA实现)--第22题:从上往下打印出二叉树 * * 题目描述 * 从上往下打印出二叉树的每个节点,同层节点从左至右打印. * */ public class Test22 { ArrayList<Integer> arra

  • Java利用for循环打印菱形的实例教程

    Java for循环打印菱形 Java代码输出菱形的方法和思路有很多,在此分享一个稍带模块化拆分思想的解决方案,将需要输出的菱形拆分成8个模块(如下图),每个模块独立实现输出. 优点:8个模块之间耦合性降低,灵活性增强.也就是说我们可以独立的控制这8个模块中任意一个模块的输出内容来灵活应对业务逻辑的变更. 按照上图标好的顺序依次实现这8个模块的代码,当1458模块输出为空格时,其中2367模块的组合,就是一个菱形. 思路分析: 1      ######*######  第一排 模块1[6个"#

随机推荐