Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中创建padString函数?_Java_Padding - Fatal编程技术网

如何在Java中创建padString函数?

如何在Java中创建padString函数?,java,padding,Java,Padding,我在书中看到的每一个问题,我至少对书中的问题有所了解,但这一个问题我不知道如何解决。它说: “编写一个名为padString的方法,该方法接受两个参数:一个字符串和一个表示长度的整数。例如 padString ("hello", 8) padString ("congratulations", 10) 应返回“hello”(末尾有三个空格)。如果字符串的长度至少与length参数一样长,则方法应返回原始字符串。例如 padString ("hello", 8) padString ("co

我在书中看到的每一个问题,我至少对书中的问题有所了解,但这一个问题我不知道如何解决。它说:

“编写一个名为padString的方法,该方法接受两个参数:一个字符串和一个表示长度的整数。例如

padString ("hello", 8)
padString ("congratulations", 10)
应返回
“hello”
(末尾有三个空格)。如果字符串的长度至少与length参数一样长,则方法应返回原始字符串。例如

padString ("hello", 8)
padString ("congratulations", 10)
应返回“祝贺”


我不知道如何处理这一点,因为Java非常陌生。这应该是初学者的家庭作业,因此我认为该方法非常简单。请向我演示如何执行此操作,如果可以,请解释步骤。请向帮助您的人表示感谢。

因此,您的函数应该执行以下操作:

  • 确定所需的填充字符数


  • 需要所以你的函数应该这样做:

  • 确定所需的填充字符数


  • 需要您可能希望查看Java的字符串类文档。查找返回字符串长度的方法…

    您可能希望查看Java的字符串类文档。查找返回字符串长度的方法…

    您可以在
    系统中使用
    printf
    方法。out
    (需要Java 1.6或更高版本,这是一个新的
    PrintStream
    方法)。请看下面一个有趣的示例,其中输出为(在下面的代码中指定)。printf参数中的填充指定为30,并左对齐:

    package pft;
    
    public class PrintfTest {
     public static void main(String[] args) {
            int padding = 30;
         String s = "hi!";
         System.out.printf("'%0$-" + padding + "s'", s);
     }
    }
    
    prints: 'hi!                           '.
    

    您可以在
    System.out
    中使用
    printf
    方法(需要Java 1.6或更高版本,这是一个新的
    PrintStream
    方法)。请看下面一个有趣的示例,其中输出为(在下面的代码中指定)。printf参数中的填充指定为30,并且左对齐:

    package pft;
    
    public class PrintfTest {
     public static void main(String[] args) {
            int padding = 30;
         String s = "hi!";
         System.out.printf("'%0$-" + padding + "s'", s);
     }
    }
    
    prints: 'hi!                           '.
    
    一次完成一件(并且不提供所有代码):

    “编写一个名为padString的方法 接受两个参数:字符串和 表示长度的整数。“

    例如,padString(“hello”,8) 应该返回“你好”

    “如果字符串的长度已为 至少与长度参数一样长, 您的方法应该返回原始值 字符串。例如, padString(“祝贺你”,10) 应该返回“祝贺”

    编辑:你解决了这个问题

    public static String padString(String str, int len)
    {
        // if the str.length is greater than len
        //     return str
    
        // this next part is very simple, not a very good way but gets you 
        // started. Once you have it working look at StringBuilder and .append.
    
        // int val = the difference in length between the two strings
    
        // for i = 0; i is less than val; i++
        //     str += " ";           
    
        // return str
    }
    
    一次完成一件(并且不提供所有代码):

    “编写一个名为padString的方法 接受两个参数:字符串和 表示长度的整数。“

    例如,padString(“hello”,8) 应该返回“你好”

    “如果字符串的长度已为 至少与长度参数一样长, 您的方法应该返回原始值 字符串。例如, padString(“祝贺你”,10) 应该返回“祝贺”

    编辑:你解决了这个问题

    public static String padString(String str, int len)
    {
        // if the str.length is greater than len
        //     return str
    
        // this next part is very simple, not a very good way but gets you 
        // started. Once you have it working look at StringBuilder and .append.
    
        // int val = the difference in length between the two strings
    
        // for i = 0; i is less than val; i++
        //     str += " ";           
    
        // return str
    }
    
    公共类PadString{
    公共静态void main(字符串[]args){
    String str=“hello”;
    str=padStr(str,10',);
    }
    静态字符串padStr(字符串s、整数len、字符c){
    int n=len-s.length();
    如果(n
    public类PadString{
    公共静态void main(字符串[]args){
    String str=“hello”;
    str=padStr(str,10',);
    }
    静态字符串padStr(字符串s、整数len、字符c){
    int n=len-s.length();
    if(n
    publicstaticstringpadstring(stringstr,int len)
    { 
    int length=str.length();
    如果(长度==len | | lent>len)
    返回str;
    else if(长度
    公共静态字符串padString(字符串str,int len)
    { 
    int length=str.length();
    如果(长度==len | | lent>len)
    返回str;
    否则,如果(长)
    这对我来说是更好的解决方案。摘自@johnc的评论,加上“%-”

    抱歉@John C我无法编辑您的评论或在您的评论下方添加评论

    这对我来说是更好的解决方案。摘自@johnc的评论,加上“%-”


    抱歉@John C我无法编辑您的评论或在您的评论下方添加评论。

    我甚至认为这篇文章已经发表了大约2年。我最近刚刚收到了这篇文章 问一个家庭作业的问题。我想它可能会帮助其他初学者 这可能会遇到这个问题,找到一个更简单的解决方法 这个问题

    一个可能会更符合他们所处位置的方案 java初学者课程假设他们得到的是相同的结果 我做的时间

    当然,您应该删除循环中的破折号,并使用空格 获得作业的学分,这只是为了向你证明 工作

    公共类ex3\u 11\u焊盘字符串{
    公共静态void main(字符串[]args){
    padString(“你好”,10);
    }
    公共静态字符串padString(字符串s,int len){
    int s_length=s.length();
    int diff=len-s_长度;
    字符串新闻字符串;
    新闻字符串=”;
    对于(int x=0;x
    我甚至认为这篇文章已经有2年的历史了。我最近刚刚收到了这篇文章 问一个家庭作业的问题。我想它可能会帮助其他初学者 这可能会遇到这个问题,找到一个更简单的解决方法 这个问题

    一个可能会更符合他们所处位置的方案 java初学者课程假设他们得到的是相同的结果 我做的时间

    当然,您应该删除循环中的破折号,并使用空格 获得作业的学分,这只是为了向你证明 工作

    公共类ex3\u 11\u焊盘字符串{
    公共静态void main(字符串[]args){
    padString(“你好”,10);
    }
    
    public String padString (String s, int padding) {
    
       return String.format("%-" + padding + "s", s);
    
    } 
    
    public class ex3_11_padString {
              public static void main(String[] args) {
    
                 padString("hello",10);
              }
    
              public static String padString( String s, int len) {
    
                 int s_length = s.length();
                 int diff = len - s_length;
                 String newString;
    
                 newString = "";
    
                 for (int x = 0 ; x < diff; x++) {
                    newString += "-";
                 }
    
                 newString = newString + s;
    
    
                 return new String;
                 }
           }