首页 > 试题广场 >

1. 写一个函数String addString( Stri

[问答题]
1. 写一个函数String addString( String string ,int minLength,char padChar),要求返回字符串值的长度至少为minLength。如果string的长度小于minLength,用padChar补全至长度为minLength。例如:
String str = addString( “7”,3, ‘0’);则str = “007”。
String str = addString( “2010”,3, ‘0’);则str = “2010”。
推荐
public static String addString(String str ,int minLength,char padChar){

 int subLength =0;
 if(str == null || str == "" || str.length() ==0){
 subLength =minLength;
 }else{
 subLength = minLength-str.length()<0?0:minLength-str.length();
 }
 StringBuilder sb = new StringBuilder();
 for(int i=0;i<subLength;i++){
 sb.append(padChar);
 }
 sb.append(str);
 return sb.toString();
 } 
先求出需要补充长短
编辑于 2015-01-17 11:55:39 回复(0)
public class AddString {
	public static void main(String args[]){
		String s1 = "7";
		String s2 = "2010";
		System.err.println(addString(s1,3,'0'));
		System.err.println(addString(s2,3,'0'));
	}
	public static String addString(String s, int len, char c){
		if(s.length() >= len){
			return s.substring(0, len);
		}else{
			for(int i = 0; i <= len-s.length(); i++){
				s = s + String.valueOf(c);
			}
			return s;
		}
	}
}
关键点就是String.valueOf()方法的类型转换。

发表于 2015-08-21 17:02:01 回复(0)
#include <iostream>
#include <stdlib.h>
#include <string.h>
using namespace std;
string add(string &ss,int len,char *ch)
{
    string s ;
    if(ss.size()>=len) return ss;
   
    int l = len - ss.size();
    for (int i = 0; i < l; ++i)
    {
        s.push_back(*ch);
    }
    s.append(ss);
    return s;
}
int main()
{
string s = "the";
char ch = 'w';
string d = add(s,4,&ch);
cout<<d<<"\n";

}

发表于 2015-08-04 09:55:45 回复(0)
public static String addString(String str, int minLength, char padChar) {
if(str == null && padChar == 0x00) {
return null;
}
if(str.length() >= minLength)
return str;
StringBuilder sb = new StringBuilder();
int strLen = str.length();
int diff = minLength - strLen;
for(int i = 0; i < diff; i++) {
sb.append(padChar);
}
sb.append(str);
return sb.toString();
}

发表于 2015-01-16 15:35:55 回复(0)
{
        string s=string;
    while(s.lenth<minLength)
        {
            s=c+""+s;
        {
    retrun s;
}
发表于 2015-01-15 11:13:33 回复(0)
// 找出要填充的部分先填充上,剩余的部分直接append到末尾
public static String addString(String str, int num, char ch2) {
    if(str.length()>num)
        num = str.length();

    StringBuffer buffer = new StringBuffer(20);
    for(int i=0; i<(num-str.length()); i++)
        buffer.append(ch2);
    buffer.append(str);
    return buffer.toString();
}

编辑于 2015-01-14 21:33:36 回复(0)
string addString( string str ,int minLength,char padChar)
{
if (str.length()<minLength)
{
int i=0;
char* res=new char[minLength];
for ( i=0;i<minLength-str.length();i++)
{
res[i]=padChar;
}
for (i=0;i<str.length();i++)
{
res[i+minLength-str.length()]=str[i];
}
str=res;
delete []res;
}
return str;
}
发表于 2015-01-14 20:45:50 回复(0)
String addString(String string, int minLength, char padChar) {
    String resultStr = "";
    if (string == null) {
        for (int i = 0; i < minLength; i++) {
            resultStr += padChar;
        }
        return resultStr;
    }

    if (string.length() >= minLength) {
        return string;
    }

    for (int i = 0; i < minLength - string.length(); i++) {
        resultStr += padChar;
    }
    resultStr += string;

    return resultStr;
}

编辑于 2015-01-14 15:28:46 回复(0)