【问题标题】:Printing a character specific line equivalent to string in Java打印与Java中的字符串等效的字符特定行
【发布时间】:2015-05-24 06:04:43
【问题描述】:

为了保持简短和简洁,我正在尝试编写一个不仅将用户输入转换为标题的程序。但还会在输出下方打印出用户生成的装饰性下划线。 例子;

“提示获取用户输入”

输入:我是一个标题,*

输出:

I Am A Title
* ** * *****

我正在考虑使用一种接收字符串和字符的方法,并使用它来计算它必须输出的字符数。多亏了这里的帖子,我已经能够获得以大写字母输出的标题。现在只剩下人物了。即使这只是思考问题的方法。任何帮助,将不胜感激。

【问题讨论】:

  • 带有装饰性的,你是指花哨的彩色字母还是只是它下面的线条?
  • 只是用字符组成的行。在另一个用户的帮助下,我已经能够做到这一点。不过,谢谢。

标签: java methods char underline


【解决方案1】:
public static void printUnderline(String s, char c){
    char[] arr =s.toCharArray();
    for(int i=0;i<arr.length;i++)
        if(arr[i] == ' ')
            System.out.print(' ');
        else
            System.out.print(c);
}

【讨论】:

  • 简单有效,谢谢。
  • 我尝试的第一件事,但我还没有这方面的声誉。当我这样做时,我会的。 :)
  • @JohnFranklinGomez 如果这不是答案,那么为了接受它作为答案,您还有什么期望?
  • @JudeNiroshan 他的意思是......他想接受,但不能。 :)
  • 是的,在我获得更多声誉之前,我无法对答案进行投票。
【解决方案2】:
        String str = "i am a title";
        String aux = "";
        String[]titles = str.split(" ");

        for(int i=0; i<titles.length;i++){
            aux += titles[i].replaceFirst(titles[i].charAt(0)+"", Character.toUpperCase(titles[i].charAt(0))+"") + " ";
        }

        System.out.println(aux);
        if(str.contains(" ")){
            aux = str;
            aux = aux.replaceAll("[A-Za-z]",  "*");

            System.out.println(aux);

        }else{
            System.out.println(false);
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 2017-04-15
    • 1970-01-01
    • 2015-06-19
    相关资源
    最近更新 更多