Android Java检查字符串长度 - 30个

时间:2016-07-03 11:05:35

标签: java android string

我的情况:我有一个字符串(称为str)。弦的长度必须是30的倍数(例如30,60,90)。如果str的长度不是30的倍数,则在其末尾添加空格“”。

这样的事情:

if (str.length() / 30 != ????) {
//add spaces to the end
}

当然,上面的代码不正确。如果你能帮助我,我将非常感激。

提前致谢!

6 个答案:

答案 0 :(得分:1)

此代码未经过测试,但我猜它会起作用:

int a = str.length()%30;

for(int i=0; i<=a; i++)
str = str + " ";

答案 1 :(得分:1)

你可以很简单地做到:

if(str.length()%30!=0)
        str = String.format("%1$-"+(((str.length()/30)*30)+30)+"s", str);  
  • str.length()%30给出余数除以30的长度。如果它不是0,则必须添加空格。

  • String.format("%1$-"+(((str.length()/30)*30)+30)+"s", str)将空格添加到字符串的右侧。

或者甚至简单地说,你可以这样做:

while(str.length()%30 !=0)
    str+= ' ';

答案 2 :(得分:1)

如果简单Maths中的数字是30的倍数,您会怎么做?

是的,你会分开并检查余数是否为0,对吗?

你是如何在Java中完成的。要在Java中获取余数,请使用Modulus(%)运算符。所以,你可以这样做:

if (str.length() % 30 != 0) {
    //add spaces to the end
    str += " ";
}

或者如果要添加空格以使长度为30的倍数,请执行以下操作:

int remainder = str.length() % 30;
if (remainder != 0) {
    //add spaces to the end
    int numSpacesRequired = 30-remainder; //no. of spaces reuired to make the length a multiple of 30
    for(int i = 0; i < numSpacesRequired; i++)
        str += " ";
}

详细了解Java here中的基本操作符。

答案 3 :(得分:0)

您可以使用Modulo来实现这一目标:

if (str.length() % 30 != 0) {
     //add spaces to the end
     str += ' ';
}

答案 4 :(得分:0)

简单地说:(经过测试和工作)

public static void main(String[] args) {
    String str = "AYOA"; //Length is only 4

    //If the remainder of the str's length is not 0 (Not a multiple) 
    if (str.length() % 30 != 0){ 
        str += ' ';
    }

    System.out.println("[" + str + "]"); //A space is added at the back
}

如果要连续添加空格,直到长度为30的倍数:

 public static void main(String[] args) {
    String str = "AYOA"; //Length is only 4

    //If the remainder of the str's length is not 0 (Not a multiple)
    //Repeat until is multiple of 30
   while(str.length % 30 != 0){
        str += ' ';
    }

    System.out.println("[" + str + "]"); //A space is added at the back
}

答案 5 :(得分:0)

使用 StringBuilder 来构建空格

    String str="multiple of 30";
    int spacesNum=str.length()%30; //get the remainder
    StringBuilder spaces=new StringBuilder(); //build white spaces
    for(int j=0;j<spacesNum;j++){
        spaces.append(' ');
    }
    System.out.println(str+spaces.toString());