如何在Java中创建padString函数?
我在书中看到的每一个问题,我至少对书中的问题有所了解,但这一个问题我不知道如何解决。它说: “编写一个名为padString的方法,该方法接受两个参数:一个字符串和一个表示长度的整数。例如如何在Java中创建padString函数?,java,padding,Java,Padding,我在书中看到的每一个问题,我至少对书中的问题有所了解,但这一个问题我不知道如何解决。它说: “编写一个名为padString的方法,该方法接受两个参数:一个字符串和一个表示长度的整数。例如 padString ("hello", 8) padString ("congratulations", 10) 应返回“hello”(末尾有三个空格)。如果字符串的长度至少与length参数一样长,则方法应返回原始字符串。例如 padString ("hello", 8) padString ("co
padString ("hello", 8)
padString ("congratulations", 10)
应返回“hello”
(末尾有三个空格)。如果字符串的长度至少与length参数一样长,则方法应返回原始字符串。例如
padString ("hello", 8)
padString ("congratulations", 10)
应返回“祝贺”
我不知道如何处理这一点,因为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();
如果(npublic类PadString{
公共静态void main(字符串[]args){
String str=“hello”;
str=padStr(str,10',);
}
静态字符串padStr(字符串s、整数len、字符c){
int n=len-s.length();
if(npublicstaticstringpadstring(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;
}
}