java - 如果是的话如何打印数字的中间数字?

标签 java

我尝试了一个程序,但它显示了第一位数字。我想要一个使用 while 循环的中位数程序。 我使用了以下内容-

public class MID {

    public static void Indra(int n) {
        int a = 0, c = 0, m = 0, r = 0;
        a = n;
        while (n != 0) {
            c++;
            n = n / 10;
        }
        n = a;
        if (c % 2 == 0) {
            System.out.println("No mid digit exsist!!");
        } else {
            m = (c + 1) / 2;
            c = 0;
            while (n != 0) {
                c++;
                r = n % 10;
                if (c == r) {
                    System.out.println(r);
                }
                n = n / 10;

            }
        }
    }

}

但它继续给出相同的输出 -

The mid digit of 345 is 3

请帮帮我!

最佳答案

如果你不介意使用不同的逻辑,你可以尝试这个..

    int x = 354;
    String num = Integer.toString(x);
    if(num.length() % 2 != 0){
        System.out.println("The mid digit of " + x + " is " +  num.charAt(num.length()/2));
    }else {
        System.out.println("No middle number.");
    }

关于java - 如果是的话如何打印数字的中间数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32722674/

相关文章:

java - 这是什么意思 "No DRP key due to exception:java.lang.ClassNotFoundException: com.android.webview.chromium.Drp"?

java - 在 Itext 的 XMLWorkerHelper 类中找不到方法 (parseToElementList(str,null))

java - 将私有(private)方法设为静态以增加函数式编程的习惯

java - 在 Android 应用程序中添加 IMEI 号码?

java - Tomcat 出现 AccessDeniedException?

java - Android-从 java 运行 php 脚本

java - OpenSMPP 的文档在哪里?

java - 获取 SQL Server 中我的表的所有唯一排列和组合 'where clause conditions'

java - 线程同步中的 While 与 If

java - 如何使用 Mockito 模拟 ResultSet.next() 方法