V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
guang131
V2EX  ›  Java

Java 怎样输出 444433322101223334444

  •  
  •   guang131 · 2018-04-03 14:23:36 +08:00 · 3699 次点击
    这是一个创建于 2453 天前的主题,其中的信息可能已经有所发展或是发生改变。

    方便说下思路吗,不写代码也行 感谢!

    guang131
        1
    guang131  
    OP
       2018-04-03 14:24:33 +08:00
    额 ,少写了点 输入任意数可以显示出标题所写的所有数字
    b821025551b
        2
    b821025551b  
       2018-04-03 14:25:36 +08:00
    string,下一个。
    Tuisku
        3
    Tuisku  
       2018-04-03 14:26:11 +08:00   ❤️ 5
    答案:System.print.out("444433322101223334444");

    这种入门级别的题目你也做不出来,放过程序员这个行业吧(?)
    OpenJerry
        4
    OpenJerry  
       2018-04-03 14:26:48 +08:00 via Android
    递归?
    Tuisku
        5
    Tuisku  
       2018-04-03 14:27:35 +08:00   ❤️ 1
    P.S. :
    关键字 => 回文数
    lhx2008
        6
    lhx2008  
       2018-04-03 14:27:38 +08:00 via Android
    BigDemical
    lhx2008
        7
    lhx2008  
       2018-04-03 14:29:36 +08:00 via Android
    有规律的,用 char[],头尾加就可以了,先算好有多长,然后转 string
    yang2yang
        8
    yang2yang  
       2018-04-03 14:41:44 +08:00
    转 string,然后倒序遍历 string 的同时,放入到字符数组中,将原有 string 和这个字符数组输出
    real3cho
        9
    real3cho  
       2018-04-03 14:57:34 +08:00
    C#写法

    `for (int i = inputValue; i >= 0 ; i--)`

    {

    if (i == 0)
    {
    result = result + "0" + string.Join("", result.Reverse());
    }
    else
    {
    result += string.Join("", Enumerable.Repeat(i, i));
    }
    }
    willvvvvv1
        10
    willvvvvv1  
       2018-04-03 15:18:59 +08:00
    表达能力捉急。
    guang131
        11
    guang131  
    OP
       2018-04-03 15:26:25 +08:00
    @b821025551b
    @Tuisku
    @OpenJerry
    @lhx2008
    @yang2yang
    @real3cho 很抱歉 表达能力有点差 ,我的意思是在控制台输入任意数,控制台输出 比如输入 3, 会显示 3332210122333 这样之类的
    AlisaDestiny
        12
    AlisaDestiny  
       2018-04-03 15:33:48 +08:00
    <img src="https://i.loli.net/2018/04/03/5ac32dfbddf9e.png" />
    并不是很难呀
    MajorAdam
        13
    MajorAdam  
       2018-04-03 15:35:20 +08:00
    你观察一下规律呀
    rrfeng
        14
    rrfeng  
       2018-04-03 15:37:38 +08:00 via Android
    这特么不是表达能力有问题,这是弱智。

    抱歉过激了,我猜题主的意思是:

    给定 N 输出 N 个 N,N-1 个 N-1,... 1 个 1 ... N 个 N
    kamil
        15
    kamil  
       2018-04-03 15:38:10 +08:00
    ```java
    import java.util.function.Supplier;
    import java.util.stream.Collectors;
    import java.util.stream.IntStream;
    import java.util.stream.Stream;

    public class Main {
    public static Stream<Integer> method1(final Integer bound) {
    if (bound > 0) {
    Supplier<Stream<Integer>> supplier = () -> IntStream.range(0, bound).mapToObj(i -> bound);
    return Stream.concat(supplier.get(), Stream.concat(method1(bound - 1), supplier.get()));
    }
    return Stream.of(0);
    }

    public static void method2(final Integer bound) {
    Runnable print = () -> IntStream.range(0, bound).forEach(i -> System.out.println(bound));
    print.run();
    method2(bound - 1);
    print.run();
    }

    public static void main(String[] args) {
    // Method 1: 返回结果后打印
    String result = method1(4).map(Object::toString).collect(Collectors.joining( "" ));
    System.out.println(result);

    // Method 2: 方法内打印
    method2(4);
    }
    }
    ```
    suit
        16
    suit  
       2018-04-03 15:40:20 +08:00
    lock and say 数列?
    suit
        17
    suit  
       2018-04-03 15:41:15 +08:00
    @suit lock => look...
    goldenalex
        18
    goldenalex  
       2018-04-03 15:44:33 +08:00
    感觉像是作业。。。
    sgissb1
        19
    sgissb1  
       2018-04-03 15:44:34 +08:00
    lz 要表达的是,给一个指定的数列,然后按照从大到小和从小到大的顺序输出出来。

    如果是这个意思的话,lz 没有表达清楚可能是对题目的理解没有准确到具体含义,只是主管上有个感性认识。

    当然这个并不难,问题在于你想用什么东西接收这个数列? srting 还是 int ?不同的对象接收过来之后,处理方法不同。
    choulinlin
        20
    choulinlin  
       2018-04-03 15:46:28 +08:00 via Android
    两层 for 循环
    输入 n
    for(i=n * -1; i <= n; i++)
    j=i;
    if j < 0 j *= -1;
    if j > 0
    for(k=0; k<j; k++)
    Print k;
    Else print 0
    这应该是学生作业
    turnrut
        21
    turnrut  
       2018-04-03 15:55:45 +08:00
    static void printTest(int num){
    int i, j;
    for(i = num; i > 0; i--)
    for(j = i; j > 0; j--)
    System.out.print(i);
    System.out.print(0);
    for(i = 1; i <= num; i++)
    for(j = i; j > 0; j--)
    System.out.print(i);
    }
    waterlaw
        22
    waterlaw  
       2018-04-03 16:13:35 +08:00
    ```
    def dispaly(n, max, s=[]):
    for i in range(n):
    s.append(str(n))
    if n - 1 > 0:
    dispaly(n - 1, max, s=s)
    else:
    s.append('0')
    for i in range(n):
    s.append(str(n))
    if n == max:
    return ''.join(s)

    print(dispaly(3, 3))
    ```
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2673 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 05:25 · PVG 13:25 · LAX 21:25 · JFK 00:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.