Java中交替显示2个字符串

2024-04-25

我有一个java程序,其中我想要实现以下目标:

first input: ABC

second input: xyz

output: AxByCz

我的Java程序如下:

    import java.io.*;

    class DisplayStringAlternately 
    {
        public static void main(String[] arguments)
        {
            String firstC[], secondC[];

            firstC = new String[] {"A","B","C"};
            secondC = new String[] {"x","y","z"};

            displayStringAlternately(firstC, secondC);        
        }

        public static void displayStringAlternately (String[] firstString, String[] secondString)
        {
           int combinedLengthOfStrings = firstString.length + secondString.length;

           for(int counter = 1, i = 0; i < combinedLengthOfStrings; counter++, i++)
           {
               if(counter % 2 == 0)
               {
                   System.out.print(secondString[i]);
               }
               else 
               {
                   System.out.print(firstString[i]);
               }
           }
        }        
    }

但是我遇到以下运行时错误:

    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3
    AyC at DisplayStringAlternately.displayStringAlternately(DisplayStringAlternately.java:23)
        at DisplayStringAlternately.main(DisplayStringAlternately.java:12)
    Java Result: 1

我的 Java 程序出了什么错误?


如果两个数组的长度相同for循环应该继续 whilei < anyArray.length.

而且你不需要任何counter以确定您应该首先打印哪个数组。只需硬编码将打印的第一个元素firstString下一张来自secondString.

So your displayStringAlternately方法可以看起来像

public static void displayStringAlternately(String[] firstString,
        String[] secondString) {
    for (int i = 0; i < firstString.length; i++) {
        System.out.print(firstString[i]);
        System.out.print(secondString[i]);
    }
}

无论如何你的代码会抛出ArrayIndexOutOfBoundsException因为每次您决定从哪个数组打印元素递增i,所以你可以通过这种方式有效地跳过数组

 i=0     i=2
{"A","B","C"};

{"x","y","z"};    
     i=1     i=3 
             ^^^-here is the problem

因此,正如您所看到的,您的代码尝试访问第二个数组中不在其中的元素(它超出了其范围)。

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

Java中交替显示2个字符串 的相关文章

随机推荐

  • 从 XUL 运行 JavaScript 代码的单元测试 - 什么以及如何

    我正在编写一个 XUL 应用程序 它不是 Firefox 扩展 而是通过 XULrunner 使用的独立应用程序 我的目的是在我的开发过程中采用 TDD 我正在考虑犀牛单位 http code google com p rhinounit
  • 官方 OpenCL 2.2 标准是否支持 WaveFront?

    众所周知 AMD OpenCL 支持 WaveFront 2015 年 8 月 http amd dev wpengine netdna cdn com wordpress media 2013 12 AMD OpenCL Programm
  • Java 和 .NET 技术/框架的类似物

    我在一家主要由 Java 和 NET 技术人员组成的商店工作 在讨论新的解决方案和架构时 我们经常会在尝试比较两个阵营之间使用的各种技术 框架 API 等时遇到阻力 似乎每个阵营都对对方知之甚少 我们最终将苹果与橙子进行比较 而忘记了蒲式耳
  • Struts2 + 完整 Hibernate 插件 --> 会话已关闭?

    与这个问题相关 答案并没有真正切中要点 Hibernate with Struts2 有用的 Hibernate 插件或其他关闭会话的方法 https stackoverflow com questions 5901137 hiberate
  • Java 数组与泛型

    假设一个超类 America 及其两个子类 South America 和 North America Case 1 对于数组 America am new SouthAmerica 10 why no compiler error am
  • 由于“清理构建映像时出现未处理的错误”,无法部署 Cloud Functions

    我已经部署了数百个功能 这是我第一次遇到这个问题 简单地说 它停止部署功能流程 并表示 清理构建映像时出现未处理的错误 如果不加以纠正 这可能会导致每月产生少量账单 您可以尝试通过重新部署来删除这些映像 也可以在以下位置手动删除它们 htt
  • 更改时为 UITableView 动画重新加载数据

    我有一个有两种模式的 UITableView 当我们在模式之间切换时 我有不同数量的部分和每个部分的单元格 理想情况下 当表格增大或缩小时 它会执行一些很酷的动画 这是我尝试过的代码 但它没有执行任何操作 CGContextRef cont
  • 根据列值对数据行进行分组[重复]

    这个问题在这里已经有答案了 是否可以根据子数组中的值对行进行分组 Array Array 4f5hfgb gt Array 0 gt ACME 1 gt 4f5hfgb 2 gt Aberdeen sdf4ws gt Array 0 gt
  • 组装:如何从 json/yaml 生成页面?

    如果提供布局 有没有办法从 json yaml 生成页面 我认为这是可能的 但在文档中找不到 目前正在 GitHub 中对此进行跟踪 http webb li QjTX http webb li QjTX 自从options pages功能
  • 如何在 Android 设备上运行 VS Code [重复]

    这个问题在这里已经有答案了 我有 Galaxy Tab S6 它具有替代笔记本电脑的很酷的功能 例如连接鼠标和键盘 但不幸的是它运行 Android 操作系统 并且没有很多开发应用程序可用于 Android 所以我想是否有一个选项可以在至少
  • 调整大小程序 检测到一个或多个无效文件名

    我无法消除 Visual Studio for Mac 2022 v17 中 net maui 应用程序中的此生成错误 构建输出显示 usr local share dotnet packs Microsoft Maui Resizetiz
  • 将 txt 文件转换为字典

    我有一个文本文件 我需要将所有偶数行放入字典键 将所有偶数行放入字典值 我的问题的最佳解决方案是什么 int count lines 1 Dictionary
  • Laravel 从模型插入数百万数据库行

    我有一个文本文件 其中包含逗号分隔的值 表示字符串中每一行的数据集 它们大约有 200 万个 我想解析字符串 根据它们创建 Laravel 模型 并将每个模型作为一行存储在我的数据库中 此时 我有一个类逐行解析文件并为每个文件创建一个模型
  • 如何判断全屏应用程序是否正在运行?

    python 是否可以判断 linux 上的全屏应用程序是否正在运行 我感觉使用 Xlib 可能是可行的 但我还没有找到方法 EDIT 我所说的全屏是指整个屏幕 除了应用程序之外 没有其他任何内容 例如全屏游戏 如果您有兴趣在支持下运行所有
  • 从简单的 POST 请求到 node.js 的响应中出现“意外的输入结束”消息

    我编写了一个简单的 node js 程序来演示我在其他地方遇到的问题 给出以下 Node js 程序 var http require http http createServer function req res simple repro
  • 如何在 xml android 中绘制半边框

    我想画一个这样的边框带边框的编辑文本 https i stack imgur com ubwqF png 我的代码如下
  • 哈希链接重新加载页面

    我有一个安装在第三方网站上的代码片段 我无法了解详细信息 但它通过使用 a 将 HTML CSS 和 JS 加载到页面上
  • 如何添加私有 github 存储库作为 Composer 依赖项

    我在 Laravel 5 1 项目的composer json 中有以下内容 用于添加公共 github 存储库作为依赖项 repositories type package package name myVendorName my pri
  • PowerShell 中的 echo 和 Write-Host 有什么区别?

    我对之间的区别感到困惑echo and Write Host在 PowerShell 中 我有两个文件 POC ps1 validatePath ps1 这些文件位于我的本地计算机上 我使用以下命令在远程计算机上运行它们Invoke Com
  • Java中交替显示2个字符串

    我有一个java程序 其中我想要实现以下目标 first input ABC second input xyz output AxByCz 我的Java程序如下 import java io class DisplayStringAlter