Java 中 for 循环转换为 while 循环

2023-12-04

我需要将这个 for 循环转换为 while 循环,这样我就可以避免使用中断。

double[] array = new double[100];

Scanner scan = new Scanner(System.in); 

for (int index = 0; index < array.length; index++)
    {
        System.out.print("Sample " + (index+1) + ": ");
        double x = scan.nextDouble();
        count++;
        if (x < 0) 
        {
            count--;
            break;
        }
        array[index] = x; 
    }

这是我想出的,但我得到了不同的输出:

int index = 0;

double x = 0; 

while (index < array.length && x >= 0)
    {
        System.out.print("Sample " + (index+1) + ": ");
        x = scan.nextDouble();
        count++;
        if (x < 0) 
        {
            count--;
        }
        array[index] = x;
        index++;
    }

该解决方案提供与 for 循环相同的输出:

while (index < array.length && x >= 0)
{
    System.out.print("Sample " + (index+1) + ": ");
    x = scan.nextDouble();
    count++;
    if (x < 0) 
    {
        count--;
    }
    else
    {
        array[index] = x;
        index++;
    }
}

解释:

在 for 循环中,您使用break语句,因此程序到达break后不会发生任何事情。所以array[index] = x;没有被处决。

在 while 循环中,由于没有中断,因此循环继续,因此语句array[index] = x; and index++;被处决了。

这就是为什么你得到不同的结果。如果您不想要这些声明

array[index] = x;
index++; 

要执行,您只需将 if 语句设置为上面的 if/else 语句即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 中 for 循环转换为 while 循环 的相关文章

  • 使用 Spring MVC,接受带有错误 JSON 的 POST 请求会导致返回默认的 400 错误代码服务器页面

    我正在开发 REST api 接收带有错误 JSON 的 POST 消息 例如 sdfasdfasdf 会导致 Spring 返回 400 错误请求错误的默认服务器页面 我不想返回页面 我想返回自定义 JSON 错误对象 当使用 Excep
  • Android Proguard Javascript 接口失败

    我在我的项目中使用了一段代码 如此处所述 http lexandera com 2009 01 extracting html from a webview http lexandera com 2009 01 extracting htm
  • Android update 17 似乎与外部 Jars 不兼容

    我刚刚允许我的 Mac 对其 Java 安装进行更新 现在我的一些旧罐子 例如javax mail and apache commons httpclient 正在投掷 找不到类 运行时异常 意思是 它们编译得很好 但在运行时崩溃 出现如下
  • CompletableFuture 强制重用线程

    我正在批判性地利用 CompletableFuture delayedExecutor 1 TimeUnit MILLISECONDS execute gt 根据我在网上阅读的内容 每次调用都使用一个新线程是很常见的 我想知道是否有办法重用
  • 如何在 Spring Data MongoDB 中仅返回查询的特定字段?

    我们如何在 Spring Data Mongo 中选择特定字段 我尝试了以下操作 但我得到了强制转换异常Foo to String Using Query Query value path 0 fields path 0 String fi
  • 从java管理unix进程的最佳方法是什么?

    我正在寻找一些简单的任务 例如列出用户的所有正在运行的进程 或者通过pid等杀死特定进程 来自Java的基本unix进程管理 有没有相对成熟且有文档的库 我可以从 JVM 运行外部命令 然后解析标准输出 错误 但这似乎需要大量工作 而且一点
  • Java 1.6 和 Desktop.open() 的问题

    我一直在使用 Destop open 在 Windows 计算机 Vista 和 XP 上启动 pdf 查看器 并且大多数都工作得很好 但是 在一台 XP 计算机上 该调用不起作用 只是返回而不抛出任何异常 并且查看器不会启动 据我所知 在
  • 在准备好的语句中使用“like”通配符

    我正在使用准备好的语句来执行 mysql 数据库查询 我想实现基于某种关键字的搜索功能 为此我需要使用LIKE关键字 我知道的就这么多 我以前也使用过准备好的语句 但我不知道如何使用它LIKE因为从下面的代码中我将在哪里添加 keyword
  • java中应用程序的CPU核心数和线程数之间有什么关系?

    我是java新手多线程编程 我想到的问题是 根据我的数量 我可以运行多少个线程CPU核心数 如果我运行的线程超过CPU核心数机器运行应用程序会产生开销吗 例如 当我们有一台服务器计算机 其中有一个运行 2 个线程 主线程 开发人员线程 的服
  • Spring 在使用 JUnit 的单元测试中不自动装配

    我使用 JUnit 测试以下 DAO Repository public class MyDao Autowired private SessionFactory sessionFactory Other stuff here 正如您所看到
  • 如何设置鼠标监听器的优先级

    我有一个带有列表和按钮的面板 名单已定MouseAdapter with mouseClick 我添加到面板MouseAdapter with mousePressed and mouseReleased and MouseMotionAd
  • Java错误:不是一个语句,我不知道为什么?

    我真的不确定是什么导致发生这个编译时错误 我一直在试图弄清楚 但似乎找不到问题所在 ClassTable java 253 error not a statement class c class classes nextElement Cl
  • 如何在类图中对自定义异常关联进行建模?

    Reading here http www jguru com faq view jsp EID 62790 似乎使用泛化来建模自定义异常类很常见 它没有提到的是我如何对与可能引发自定义异常的类的关联进行建模 请注意 我并不是在问如何在引发
  • NoClassDefFound错误:org/apache/tools/ant/util/ReaderInputStream

    我在 Intellij 中有一个带有 gradle 的 java 项目 它直到几个小时前才工作 但在进行微小更改 或者我认为是这样 后突然出现错误 Error gradle resources test analyzer main java
  • 如何用java实现FTP?

    我正在使用 FTP 我必须在客户端将消息嵌入到图像文件中 并且我必须将其发送到服务器 在服务器端我必须检索图像文件并然后我将检索该消息 我已经完成了嵌入消息并使用密码学和隐写术技术检索消息 我正在寻找如何将该文件从客户端传输到服务器 我必须
  • 我可以在Java中设置枚举起始值吗?

    我使用枚举来创建一些常量 enum ids OPEN CLOSE OPEN 值为零 但我希望它为 100 这可能吗 Java 枚举与 C 或 C 枚举不同 后者实际上只是整数的标签 Java 枚举的实现更像是类 它们甚至可以有多个属性 pu
  • 可选的比较器

    I have abstract class OptionalComparator
  • JDK1.6 中 ManagementFactory 的托管 Mbean - NotCompliantMBeanException:

    我使用 ManagementFactory 来获取 JDK1 5 和 JBOSS 4 X 中的 ManagedMbeans 现在想将我的相同代码移至 JDK 1 6 Mbean 部分中断并抛出异常 引起原因 javax management
  • 从 Eclipse 启动时创建新的 JFrame 时 Java 将关闭。没有抛出异常

    我正在开发一个在 Eclipse 中开发的 Java 项目 直到今天一切都很好 昨天 在完成我的项目之前 我最后一次运行它以检查一切是否正常并且运行正常 但是今天 当我启动该项目并按下 运行 时 我的应用程序就神秘地关闭了 没有崩溃 没有消
  • Java 8 哈希映射无法正常工作

    自 java 8 以来 我们面临着 HashMap 行为方式的奇怪问题 当HashMap的键实现了Comparable接口 但compareTo的实现与equals不一致时 HashMaps 长得比它们应该长的大得多 它们包含多个相同元素的

随机推荐

  • ASP.NET Core Web 应用程序中的语言不会更改

    我遵循全球化与本土化 and 构建简单的多语言 ASP NET Core 网站为我的应用程序添加语言切换的教程 所以 我创建了一个局部视图 using Microsoft AspNetCore Builder using Microsoft
  • 致命错误:调用未定义的方法 mysqli_stmt::get_result() [重复]

    这个问题在这里已经有答案了 我的以下 php MYSQLi 无法正常工作 PHP 版本 5 9 query conn gt prepare SELECT FROM users WHERE token LIMIT 1 query gt bin
  • 具有多个标头的 Ionic 4 原生 http POST

    以下是我从 Ionic 应用程序执行 http post 的方式 import HTTP from ionic native http ngx someAction assetId number userId number var asse
  • Python websockets,订阅多个频道

    我正在尝试同时连接到多个通道 并通过 python websocket 库从推送 API 接收消息 考虑下面的代码 您将如何连接到多个通道 该代码是从此处获得并稍加修改的 https pypi python org pypi websock
  • 使用 Bing Maps Quadkeys 作为 Openlayers 3 Tile 源

    我有许多图块源 它们在旧的 Silverlight 应用程序中使用 Bing Maps 的 Quadkey 系统 我想在新的 Openlayers 3 地图中使用它们 我找到了几个函数示例 这些函数会将这些源转换为 Leaflet js 但
  • 使用扩展修改浏览器 UI?

    是否有 API 可以修改 Chrome 扩展或 WebExtensions 中的常规浏览器 UI 例如 我想修改选项卡栏 以便它可以显示多行选项卡 而无需创建位于地址栏下方的工具栏 或者简单地向导航栏等添加一些样式 我似乎找不到一个 API
  • “for filename in os.listdir”导致错误“FileNotFoundError:[Errno 2]没有这样的文件或目录”

    我尝试列出非工作目录中的目录中的文件 import os for filename in os listdir home pc folder logs user1 path home pc folder logs name of file
  • 当 get 和 is 都存在时,JSTL EL 访问器翻译优先级?

    这是一个由两部分组成的问题 我有一个名为 active 的带有 char 属性的 person 对象 Person 有一个 getActive 方法 它按预期返回一个 char 在我的 JSTL EL 中 我有以下内容
  • 垂直连接制表符分隔的 txt 文件

    input1 input2 output 是制表符分隔的 txt 文件 如果输入1是 a b c 1 2 3 输入2是 e r t 那么我希望输出是 a b c 1 2 3 e r t 我尝试通过学习使用 python 连接文件Python
  • MongoRepository JSON 日期查询 (Spring)

    我正在尝试使用自己的查询来查询 mongo 存储库 Repository public interface LogEntryRepository extends MongoRepository
  • 了解 libx264 输出 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我在 ffmpeg 中使用 libx264 进行编码 最后我得到了以下输出 谁能指导我理解和解释这一点 有任何参考 文档吗 01 01 06 34 43 650 I stderr 6
  • 迭代包含嵌套数组的 pandas 数据框列

    我希望你能帮我解决这个问题 我在下面有这些数据 列名称随便 data file0090 84 55 189 248 100 18 68 115 88 file6565 86 58 189 24 10 118 68 11 8 我需要将第 0
  • Celery 单元测试重试

    我目前正在为我的 celery 任务编写单元测试 并想测试我的任务是否正在重试 注意 ALWAYS EAGER 在测试设置中设置为 True app shared task bind True soft time limit 600 aut
  • Arduino 频率为 11.0592MHz。修改Timer0、delayMicroseconds()

    我在 Arduino 环境中使用 11 0592MHz 的 ATMega328P 我发现delayMicroseconds 函数快了大约27 原因是 wiring c 中的代码假设时钟速度现在为 8MHz 现在我尝试修复它 我发现了不同的帖
  • 如何安装本地 gem?

    如果我将 gem 文件下载到计算机中的某个文件夹中 我可以稍后使用它进行安装吗gem install 另外 您可以使用gem install local path to gem filename gem 这将跳过您离开时发生的通常的 gem
  • 从 VBA 调用 Python 脚本

    我在 Excel 中从 vba 调用 python 脚本时遇到问题 我阅读了解决相同问题的其他线程 但是当我运行代码时 Python 屏幕闪烁 然后消失 仅供参考 我下载了适用于 Windows 10 的 python 3 6 5 并将其添
  • 使用 JavaScript 中的 Dart 类

    我有一个 Dart 类 foo dart class Foo void talk print Hello 将 foo dart 编译为 JavaScript 后 我 希望能够像这样使用 Foo var foo new Foo from fo
  • java.lang.NoClassDefFoundError:org/apache/commons/lang/Validate

    为什么会发生以下情况以及如何解决 Exception in thread main java lang NoClassDefFoundError org apache commons lang Validate at org jsoup D
  • Pygame 如何修复“尾随像素”?

    在图像中 红色轨迹是当我在精灵周围添加边界矩形时 pygame 创建的轨迹 精灵也可以做到这一点 最简单的解决方案是在每次重绘后将表面清除为黑色 然而 尝试在整个主表面上这样做并不是一个好主意 我怎样才能解决这个问题 通常你会这样做 def
  • Java 中 for 循环转换为 while 循环

    我需要将这个 for 循环转换为 while 循环 这样我就可以避免使用中断 double array new double 100 Scanner scan new Scanner System in for int index 0 in