标签: do-loops

限制 do-while 运行 7 次,除非给出正确的输入

在用户尝试猜测数字 7 次后,我无法停止 do-while 循环。我不确定如何告诉循环停止并显示超时消息。

谢谢,我感谢任何帮助!

代码:

import java.util.Random;
import java.util.Scanner;
public class numberGuesses {
     public static void main (String [] args){
            Random rand = new Random();
            int inputNumber;
            int randomNumber = rand.nextInt(100) + 1;
            int guessingLimit = 7;

            System.out.println("Rand Number = " +randomNumber); //Temp to test program with correct number 


            Scanner scan = new Scanner (System.in);

            do {
                System.out.print("Please enter a number: ");
                inputNumber = scan.nextInt();

                if (inputNumber > randomNumber)
                            System.out.println("That's too high!");
                if (inputNumber < randomNumber)
                            System.out.println("That's too …
Run Code Online (Sandbox Code Playgroud)

java while-loop do-while java.util.scanner do-loops

2
推荐指数
1
解决办法
9516
查看次数

循环后Fortran DO循环索引的值

DO循环如何正常工作?

假设你有以下循环:

do i=1,10
...code...
end do

write(*,*)I
Run Code Online (Sandbox Code Playgroud)

为什么打印I 11,而不是10?

但是当循环停止时由于

if(something) exit
Run Code Online (Sandbox Code Playgroud)

我是预期的(例如i = 7,退出因为其他一些值达到了它的极限).

fortran loops do-loops

2
推荐指数
1
解决办法
1055
查看次数

为什么Rails形成帮助器看起来像do循环?

这是我长期以来一直要问的一个问题,但到目前为止,它已经接受了它作为"Rails魔术".正如标题所述,为什么Rails形成帮助器看起来像一个do循环?如果您查看官方的Rails文档,它似乎没有解释这一点,它只是通过给出以下作为基本示例直接跳转:

<%= form_tag do %>
  Form contents
<% end %>
Run Code Online (Sandbox Code Playgroud)

那么这里究竟发生了什么?为什么表单似乎是创建循环而不是其他语言中没有所述循环的输入表单.

<%= form_for @person, url: {action: "create"} do |person_form| %>
  <%= person_form.text_field :name %>
  <%= fields_for @person.contact_detail do |contact_details_form| %>
    <%= contact_details_form.text_field :phone_number %>
  <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails form-helpers do-loops

2
推荐指数
1
解决办法
83
查看次数

在SAS Do循环中指定输出语句时,为什么索引变量的存储值不同?

  1. 在数据集Work.Invest中,Year的存储值是多少?

    数据工作.invest; 做年= 1990年至2004年; 资本+ 5000; 资本+(资本*0.10); 结束; 跑;

    • 一个.失踪
    • 湾 1990年
    • C.2004年
    • d.2005年

SAS基础准备指南中给出的正确答案d.2005.

  1. 在下面的问题中,存储的值是2004年.对于下面显示的程序,以下哪项陈述是错误的?

    数据工作.invest; 做年= 1990年至2004年; 资本+ 5000; 资本+(资本*0.10); 输出; 结束; 跑;

    • 一个.OUTPUT语句立即将当前值写入数据集.
    • 湾 Year的存储值是2005.
    • C.OUTPUT语句将覆盖DATA步骤结束时的自动输出.
    • d.在DO loop执行15次迭代.

对此的正确答案是b.2005.(确定虚假陈述是问题).

sas do-loops output

2
推荐指数
1
解决办法
1187
查看次数

将Go-to语句从FORTRAN 77转换为Fortran 90

我正在处理一段旧的F77代码,并尝试将其转换为等效的F90代码。我在下面遇到了这些问题,有人可以建议我的转换正确吗?

Fortran 77代码:

Subroutine area(x,y,z,d)
do 15 j=1,10
if (a.gt.b) go to 20
15 CONTINUE
20 Statement 1
   Statement 2
   Statement 3
end subroutine
Run Code Online (Sandbox Code Playgroud)

我试图将其转换为F90,如下所示:

Subroutine area(x,y,z,d)
  dloop: do j=1,10
    if (a>b) then 
      statement 1
      statement 2
      statement 3
    else
      write(*,*) 'Exiting dloop'
      exit dloop
    end if
  end do dloop
end subroutine
Run Code Online (Sandbox Code Playgroud)

有人可以建议这种方法是否正确吗?在我的结果中,我没有得到我期望的结果。因此,我的逻辑可能存在问题。

fortran if-statement fortran77 fortran90 do-loops

2
推荐指数
1
解决办法
1357
查看次数

在Fortran中使用REAL类型值作为do-loop控制变量时,为什么输出很奇怪?

当我用Fortran语言编写代码时,我发现当我在do-loop中将REAL值设置为control-var时,输出很奇怪,例如:

do i=0.1,1.0,0.1
write (13,"(F15.6)") i
end do
Run Code Online (Sandbox Code Playgroud)

输出是:0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0.但是当我将起始值设置为0.6时:

do i=0.6,1.0,0.1
write (13,"(F15.6)") i
end do
Run Code Online (Sandbox Code Playgroud)

输出是:0.6,0.7,0.8,0.9,而1.0不是输出.为什么会这样?

fortran do-loops

2
推荐指数
1
解决办法
82
查看次数

试图了解itoa功能

我试图itoa()从K&R练习中重新编写函数,但我没有定义它.我在库中看到了函数的答案,但我无法理解do块中的内容.请向我解释一下.谢谢!

 /* itoa:  convert n to characters in s */
 void itoa(int n, char s[])
 {
     int i, sign;

     if ((sign = n) < 0)  /* record sign */
         n = -n;          /* make n positive */
     i = 0;
     do {       /* generate digits in reverse order */
         s[i++] = n % 10 + '0';   /* get next digit */
     } while ((n /= 10) > 0);     /* delete it */
     if (sign < 0)
         s[i++] = …
Run Code Online (Sandbox Code Playgroud)

c itoa do-loops

2
推荐指数
1
解决办法
224
查看次数

用循环计算加权算术平均值?

在 RI 中可以weighted.mean用来计算加权算术平均值。例如:

wt <- c(5,  5,  4,  1)/15
x <- c(3.7,3.3,3.5,2.8)
xm <- weighted.mean(x, wt)
xm
[1] 3.453333
Run Code Online (Sandbox Code Playgroud)

我可以“手工”计算这个: wt[1]*x[1]+wt[2]*x[2]+wt[3]*x[3]+wt[4]*x[4]

我想写一个循环来做同样的事情。我写了这段代码:

xm <-0
for(j in length(wt)){
    xm <- xm + wt[j]*x[j]
}
xm
[1] 0.1866667
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

loops for-loop r do-loops

1
推荐指数
1
解决办法
858
查看次数

使用任意键退出 Do-Until 循环

我想创建一个简单的循环,直到用户按下任意键。目标是仅当按下任意键时循环才会停止。否则循环、循环、循环,没有任何交互。我想我的代码会告诉你我想要什么。但我不确定这是否可以用这种类型的循环来解决?

$sec = 0
Write-Host 'Press any key to quit...'

do {
    Write-Host -ForegroundColor Green "$sec Sec"
    Start-Sleep -Seconds 1
    $sec ++    
} until ($null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown'))
Run Code Online (Sandbox Code Playgroud)

powershell keypress do-loops

1
推荐指数
1
解决办法
4100
查看次数

FORTRAN 中“do-Continue”和“Go to-Continue”的混淆

坏消息大家,

我最近开始学习 FORTRAN 来理解代码并将其翻译为 C++(我
知道代码的作用对于这个问题并不重要,但为了提供一些背景知识,
该代码使用自适应网格上的搭配方法解决了边界值问题)。
查看代码,某些“go to”语句与“do continue”相结合
,这确实让我感到困惑。

这是一个例子:

do 100 i=1, n
    C DO SOMETHING HERE
    if (some condition) go to 90
    C DO SOME MORE STUFF HERE
    90 continue
    C EVEN MORE STUFF HERE
100 continue
Run Code Online (Sandbox Code Playgroud)

我有一些 C 语言编程经验,因此我将用 C 语言编写两种解释,如下
所示,但我不确定哪一种(如果有的话!)是正确的翻译:

for(int i=1;i<=n;i++)
{
    //DO SOMETHING HERE
    if(some condition) continue;
    //DO SOME MORE STUFF HERE
    //EVEN MORE STUFF HERE
}
Run Code Online (Sandbox Code Playgroud)

或者:

for(int i=1;i<=n;i++)
{
    //DO SOMETHING HERE
    if(!some condition)
    {
        //DO SOME MORE STUFF …
Run Code Online (Sandbox Code Playgroud)

fortran77 do-loops

0
推荐指数
1
解决办法
9977
查看次数

理解Common Lisp做语法

在lisp中我有一点问题需要理解

我有这个代码:

(defun iota-b (n)
  (do ((x 0 (+1 x))
      (u '() (cons x u)))
      ((> x n) (nreverse u))))
Run Code Online (Sandbox Code Playgroud)

(iota-b 5)

(0 1 2 3 4 5)

在文档中,"do"基本模板是:

(do (variable-definitions*)
    (end-test-form result-form*)
 statement*)
Run Code Online (Sandbox Code Playgroud)

我真的不明白我的身体在我的身体中的位置iota-b对我而言

(你'()(cons xu)))

显然不是,为什么我们把(u'()(cons xu)))放在变量定义中?

lisp syntax common-lisp do-loops

0
推荐指数
1
解决办法
213
查看次数

Javascript:while循环无休止

我一直试图修复这个循环,但显然它无法识别输入是否正确.我在这里使用正确的循环吗?

var userChoice = prompt("Do you choose rock, paper or scissors?") 
if (userChoice !== "rock", "paper", "scissors") {
  do {
    prompt("Invalid answer. Please choose rock, paper or scissors.");
  } while (userChoice !== "rock", "paper", "scissors");
} else { 
Run Code Online (Sandbox Code Playgroud)

javascript while-loop do-while do-loops

0
推荐指数
1
解决办法
103
查看次数

向后选择第一个非负数SAS

我有一个类似于下面的数据集:

ID  COL70  COL71 COL72 COL73 COL74
1     4      3     2    -998   .
2     2      0     2      1   -998
3     1     -998  -998    .    .
4     3      4    -998  -998  -998
Run Code Online (Sandbox Code Playgroud)

我想要做的是让一个新列让我们称之为NEWCOL,它具有从COL74向后看的第一个非负值,所以它看起来如下:

ID  COL70  COL71 COL72 COL73 COL74  NEWCOL
1     4      3     2    -998   .      2 
2     2      0     2      1   -998    1 
3     1     -998  -998    .    .      1
4     3      4    -998  -998  -998    4
Run Code Online (Sandbox Code Playgroud)

我在WPS工作,所以这需要在SAS或PROC SQL中.

arrays sas do-loops

-1
推荐指数
1
解决办法
72
查看次数