guang131
V2EX  ›  Java

Java 怎样输出 444433322101223334444

  •  
  •   guang131 · Apr 3, 2018 · 4526 views
    This topic created in 3003 days ago, the information mentioned may be changed or developed.

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

    guang131
        1
    guang131  
    OP
       Apr 3, 2018
    额 ,少写了点 输入任意数可以显示出标题所写的所有数字
    b821025551b
        2
    b821025551b  
       Apr 3, 2018
    string,下一个。
    Tuisku
        3
    Tuisku  
       Apr 3, 2018   ❤️ 5
    答案:System.print.out("444433322101223334444");

    这种入门级别的题目你也做不出来,放过程序员这个行业吧(?)
    OpenJerry
        4
    OpenJerry  
       Apr 3, 2018 via Android
    递归?
    Tuisku
        5
    Tuisku  
       Apr 3, 2018   ❤️ 1
    P.S. :
    关键字 => 回文数
    lhx2008
        6
    lhx2008  
       Apr 3, 2018 via Android
    BigDemical
    lhx2008
        7
    lhx2008  
       Apr 3, 2018 via Android
    有规律的,用 char[],头尾加就可以了,先算好有多长,然后转 string
    yang2yang
        8
    yang2yang  
       Apr 3, 2018
    转 string,然后倒序遍历 string 的同时,放入到字符数组中,将原有 string 和这个字符数组输出
    real3cho
        9
    real3cho  
       Apr 3, 2018
    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  
       Apr 3, 2018
    表达能力捉急。
    guang131
        11
    guang131  
    OP
       Apr 3, 2018
    @b821025551b
    @Tuisku
    @OpenJerry
    @lhx2008
    @yang2yang
    @real3cho 很抱歉 表达能力有点差 ,我的意思是在控制台输入任意数,控制台输出 比如输入 3, 会显示 3332210122333 这样之类的
    AlisaDestiny
        12
    AlisaDestiny  
       Apr 3, 2018
    <img src="https://i.loli.net/2018/04/03/5ac32dfbddf9e.png" />
    并不是很难呀
    MajorAdam
        13
    MajorAdam  
       Apr 3, 2018
    你观察一下规律呀
    rrfeng
        14
    rrfeng  
       Apr 3, 2018 via Android
    这特么不是表达能力有问题,这是弱智。

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

    给定 N 输出 N 个 N,N-1 个 N-1,... 1 个 1 ... N 个 N
    kamil
        15
    kamil  
       Apr 3, 2018
    ```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  
       Apr 3, 2018
    lock and say 数列?
    suit
        17
    suit  
       Apr 3, 2018
    @suit lock => look...
    goldenalex
        18
    goldenalex  
       Apr 3, 2018
    感觉像是作业。。。
    sgissb1
        19
    sgissb1  
       Apr 3, 2018
    lz 要表达的是,给一个指定的数列,然后按照从大到小和从小到大的顺序输出出来。

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

    当然这个并不难,问题在于你想用什么东西接收这个数列? srting 还是 int ?不同的对象接收过来之后,处理方法不同。
    choulinlin
        20
    choulinlin  
       Apr 3, 2018 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  
       Apr 3, 2018
    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  
       Apr 3, 2018
    ```
    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))
    ```
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5788 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 98ms · UTC 02:24 · PVG 10:24 · LAX 19:24 · JFK 22:24
    ♥ Do have faith in what you're doing.