Java 如果值大于则循环重复

Java For Loop repeat if value is more

我正在从一个字符串中获取字符并添加它的值我仍然得到一个特定的值..假设我要获取的值是 50 ..我需要从一个字符串中获取每个字符并添加它的值

例如我需要得到的值是10

和字母 a=1,b=2,c-3 的值;

字符串是 abca 所以它的总值为 1+2+3+1 = 7

所以 10 没有达到,所以我需要从头开始添加一次,比如 abca 7 + 1 + 2。所以在 b 的地方我们得到了 10 的值..所以结果是 2.

我知道如何计算一次值,但第二次计算,第三次我没有得到,如果有人可以帮助..请帮助

到目前为止我完成的代码..

long currentValueFN = 0;
long value = 0;
char[] currentFN = new char[text.length()];
currentFN = text.toCharArray(); 
Long l = Long.parseLong(String.valueOf(currentAge));                      
for(int i=0; i<text.length(); i++)
{
   currentValueFN += valueLetters( currentFN[i] );                     
   if(currentValueFN >= l)
   {
      value = valueLetters( currentFN[i] );
   }
} 
return value;

这应该对你有帮助。

currentValueFN =0;
a=0;
while(currentValueFN !=l){
    a=valueLetters( currentFN[i] ); 
    currentValueFN +=a;
    if(currentValueFN >= l)
    {
         value = a;
         break;
    }
}

return value;
long currentValueFN = 0;
long value = 0;
char[] currentFN = new char[text.length()];
currentFN = text.toCharArray();
Long l = Long.parseLong(String.valueOf(currentAge));  
while(currentValueFN < l ) //check if current value is enough
{

  for(int i=0; i<text.length(); i++) 
  {
     currentValueFN += valueLetters( currentFN[i] );                     
     if(currentValueFN >= l)
     {
        value = valueLetters( currentFN[i] );
        break;
     }
  }
} 
return value;

1) 如果 "text" 中有足够的字符:将通过 breakfor 转义,然后通过表达式从 while 转义;
2) 如果 "text" 中没有足够的字符:将完成 for 并通过 while 表达式重新开始。直到 1)

如有错误还请见谅。 1)我使用了一个名为 "variable" 的字符串变量并将其转换为名为 "character_array"(数组名称)的字符数组。

2) 然后我将字符数组元素转换为等效的 ascii 代码,并将其存储在名为 "value_array"(数组名称) 的整数数组中。

3)然后我检查了给定值小于附加值的条件

public class 堆栈 {

public static void main(String args[])
{
    long addedvalue=0;
    long requiredvalue=600;
    String variable="ravi";
    char characterarray[]=new char[variable.length()];
    for(int i=0;i<variable.length();i++)
    {
        characterarray[i]=variable.charAt(i);
        System.out.println(characterarray[i]);
    }
    int valuearray[]=new int[variable.length()];
    for(int j=0;j<variable.length();j++)
    {
        valuearray[j]=(int)(variable.charAt(j));
        System.out.println(valuearray[j]);
    }

    while(addedvalue<=requiredvalue)
    {
        for(int j=0;j<variable.length();j++)
        {
            valuearray[j]=(int)(variable.charAt(j));
            if(addedvalue>=requiredvalue)
                break;
            addedvalue=addedvalue+valuearray[j];
            System.out.println(j);
        }
    }
}

}