21xrx.com
2024-12-22 22:35:42 Sunday
登录
文章检索 我的文章 写文章
用Java实现输入回文数并输出菱形的代码方法
2023-06-11 18:42:29 深夜i     --     --
菱形 Java代码 回文数 输入 实现

在编程中,经常需要用到一些图案来展示,其中菱形可以说是最常见的一种图案。而在输入输出中,回文数也有很多应用,如密码学、计算几何等领域。那么,如何用Java实现输入回文数并输出菱形的代码方法呢?

先来看如何输入一个回文数。回文数指前后都一样的数,如121、12321等。下面是实现方法:


import java.util.Scanner;

public class Palindrome {

  public static void main(String[] args) {

    System.out.println("请输入一个整数:");

    Scanner sc = new Scanner(System.in);

    int num = sc.nextInt();

    int temp = num;

    int reversedNum = 0;

    while (temp != 0) {

      int digit = temp % 10;

      reversedNum = reversedNum * 10 + digit;

      temp /= 10;

    }

    if (num == reversedNum) {

      System.out.println(num + "是回文数");

    } else {

      System.out.println(num + "不是回文数");

    }

  }

}

在上述代码中,通过Scanner类实现用户输入一个整数。接着,通过while循环进行数字倒置并判断是否是回文数。

然后是如何输出一个菱形,下面是实现方法:


import java.util.Scanner;

public class Diamond {

  public static void main(String[] args) {

    System.out.println("请输入菱形的行数:");

    Scanner sc = new Scanner(System.in);

    int n = sc.nextInt();

    for (int i = 1; i <= n; i++) {

      for (int j = 1; j <= n - i; j++) {

        System.out.print(" ");

      }

      for (int j = 1; j <= 2 * i - 1; j++) {

        System.out.print("*");

      }

      System.out.println();

    }

    for (int i = n - 1; i > 0; i--) {

      for (int j = n - i; j > 0; j--) {

        System.out.print(" ");

      }

      for (int j = 2 * i - 1; j > 0; j--) {

        System.out.print("*");

      }

      System.out.println();

    }

  }

}

在上述代码中,通过Scanner类实现用户输入菱形的行数。接着,通过两个for循环分别输出菱形的上半部分和下半部分。

最后,结合上述代码,实现输入回文数并输出菱形的代码方法如下:


import java.util.Scanner;

public class PalindromeAndDiamond {

  public static void main(String[] args) {

    System.out.println("请输入一个整数:");

    Scanner sc = new Scanner(System.in);

    int num = sc.nextInt();

    int temp = num;

    int reversedNum = 0;

    while (temp != 0) {

      int digit = temp % 10;

      reversedNum = reversedNum * 10 + digit;

      temp /= 10;

    }

    if (num == reversedNum) {

      System.out.println(num + "是回文数");

      System.out.println("请输入菱形的行数:");

      int n = sc.nextInt();

      for (int i = 1; i <= n; i++) {

        for (int j = 1; j <= n - i; j++) {

          System.out.print(" ");

        }

        for (int j = 1; j <= 2 * i - 1; j++) {

          System.out.print("*");

        }

        System.out.println();

      }

      for (int i = n - 1; i > 0; i--) {

        for (int j = n - i; j > 0; j--) {

          System.out.print(" ");

        }

        for (int j = 2 * i - 1; j > 0; j--) {

          System.out.print("*");

        }

        System.out.println();

      }

    } else {

      System.out.println(num + "不是回文数");

    }

  }

}

在上述代码中,先输入回文数,如果输入的是回文数,则再输入菱形的行数,并输出对应的菱形。如果输入的不是回文数,则直接输出提示不是回文数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复