Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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从“For”语句转换为嵌套While语句_Java_Loops - Fatal编程技术网

Java从“For”语句转换为嵌套While语句

Java从“For”语句转换为嵌套While语句,java,loops,Java,Loops,转换以下代码,使其使用嵌套的while语句而不是for语句 下面是将for循环转换为嵌套while循环的原始代码: public static void main (String [] args) int s =0; int t =1; for (int i =0; i < 5; i++) { s = s = i; for (int j =i; j >0; j --) { t = t + (j-1);

转换以下代码,使其使用嵌套的while语句而不是for语句

下面是将for循环转换为嵌套while循环的原始代码:

public static void main (String [] args)
   int s =0;
   int t =1;

   for (int i =0; i < 5; i++)
   {
     s = s = i;
     for (int j =i; j >0; j --)
     {
         t = t + (j-1);
     }
     s = s + t;
我目前的情况如下:

int i = 0;
int j = 0;
int s = 0;
int t = 1;

while ( i < 5)
{
    s = s + i;

     while (j > 0)
     {
         t = t + (j -1);
     }
       i++;
       j--;
这将产生以下输出: T是1, T是1, T是1, T是1, T是1, S是10

它应该产生的是: T是1, T是1, T是2, T是5, T是11, S是30

现在在需要转换的第一个循环中,我知道“S”将通过循环向自身添加“1”,直到它超过5,然后它将下降到for循环并继续这些操作。然而,我不明白的是,在完成了“S”的运算后,它加上了30,然后下降到第二个“for”语句,“j”从何而来?例如,第一个语句int j=i;这是在问int j是否等于‘S’的总和吗? 谢谢大家的帮助

您需要在int own while循环(第二个while循环)中减小j。 同样在while循环之前,您需要初始化j=i,就像您在for循环中所做的那样

代码:


什么?为什么?我只是从原来的“for”语句中复制了这个语句。我没有假设在从“for”到嵌套的“while”的过程中会发生变化。对,它不会改变任何东西,s=s完全不会做任何事情。你的问题得到了回答还是你仍然需要帮助?问题得到了回答!谢谢你的帮助。然后将答案标记为已接受。谢谢!我很感激。
while ( i < 5)
{
    s = s + i;

    j=i;
    while (j > 0)
    {
       t = t + (j -1);
       j--;
    }
    i++;