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个字符串 的相关文章

  • Javadoc 1.5 和 1.6 中缺少 enum.valueOf(String name)

    这可能是一个愚蠢的问题 但我正在使用该方法enum valueOf String name 那里没问题 只是当我检查 javadoc 以了解有关此方法的更多信息时 我找不到它 有javadoc用于valueOf Class
  • 使用 Android WebViewClient 启用特定 SSL 协议

    我的应用程序使用WebViewClient与服务器建立 SSL 连接 服务器配置为仅接受 TLSv1 1 及以上协议 使用 Android 时 如何检查哪些 SSL 协议是 a 支持的和 b 默认启用的WebViewClient在设备上 如
  • QByteArray 到整数

    正如您可能从标题中看出的那样 我在转换QByteArray为一个整数 QByteArray buffer server gt read 8192 QByteArray q size buffer mid 0 2 int size q siz
  • 如何测试调用父类的受保护(不需要的)方法的方法?

    我陷入了一个非常奇怪的情况 我有一些需要测试的特定代码 这里是 public class A The real method of real class is so big that I just don t want to test it
  • 如何识别 Java 中的不可变对象

    在我的代码中 我正在创建一个对象集合 这些对象将由各种线程以只有在对象不可变的情况下才安全的方式访问 当尝试将新对象插入到我的集合中时 我想测试它是否是不可变的 如果不是 我将抛出异常 我能做的一件事是检查一些众所周知的不可变类型 priv
  • PHP—array_merge_recursive() - 相同键没有数组

    php a php gt data1 tag gt div classes gt 1 2 3 php gt data2 tag gt section classes gt 2 3 4 5 6 php gt result array merg
  • 哈希码是否用于加速集合中的对象查找?

    IIUC 相同类型的两个不同对象可以存储在 HashSet 中 即使两个对象在以下情况下返回相同的值 hashCode 叫做 例如根据本文 https eclipsesource com blogs 2012 09 04 the 3 thi
  • 从关卡堆栈中获取相对比例的数学

    为这个可怕的标题道歉 我花了 10 分钟试图用一句话来解释这一点 但失败了 虽然提示这个问题的应用程序是用Java Android 编写的 但我认为它非常通用并且适用于任何语言 欢迎使用伪代码 或简单的英语 回复 我不确定是否应该标记所有通
  • 打印 jasper 文件时执行报表 SQL 语句时出错

    我修改了一个旧项目 但无法确定这段代码有什么问题 使用下面的 jrxml它创造 jasper文件 当我打印 jasper 文件时 使用此代码JasperPrint jasperPrint JasperFillManager fillRepo
  • Java元数据读写

    是否可以以通用方式 对于所有图像类型 在 Java 中读取和写入元数据 我找到了一些示例 但它们总是特定的 例如 JPEG 或 PNG 我需要一些足够通用的东西 而不是到处都有 if else 语句 我不想重写源代码 但这是一个很好的例子
  • 不要模拟值对象:过于通用的规则,没有解释

    以下是 Mockito 单元测试框架的引用 不要模拟值对象 为什么有人会想要这样做呢 因为实例化对象太痛苦了 gt 无效 原因 如果创造新的装置太困难 那就是一个迹象 代码可能需要一些认真的重构 另一种方法是创建 价值对象的构建者 有一些工
  • 如何通过子 POJO 的属性过滤复合 ManyToMany POJO?

    我有两个像这样的房间实体 Entity public class Teacher implements Serializable PrimaryKey autoGenerate true public int id ColumnInfo n
  • 战争库中的罐子爆炸

    我们可以将分解的 jar 文件放入 war web inf 库中吗 它在 JBOSS 4 2 中对我不起作用 我收到以下错误并且无法部署应用程序 Caused by javax management RuntimeOperationsExc
  • 在服务器内部调用 Web 服务

    我有一个网络服务 getEmployee 当传递 id 时 它会获取单个员工的员工详细信息 同一服务器上的另一个 Web 服务 getEmployeeList 当传递一个部门时 它会获取整个员工列表 这将获取部门的 ID 然后调用 getE
  • 我们可以有虚假中断吗?

    我正在创建一个任务轮询器 每分钟都会查找任务 它看起来像这样 public class Poller private final ExecutorService e Executors newSingleThreadExecutor pub
  • 无法映射 ftl 文件中的 jsonRequest 属性

    我想在 FTL 文件中映射下面的 json 文件市场和子市场字段 但是当我尝试下面的代码时 它没有映射 有人可以帮助我吗 我从 2 天开始就无法映射它 Json请求 ProcessOrderRequest prevalidationMode
  • 从命令行运行 Maven 插件的语法是什么。

    我看到这里已经有人问过这个问题 如何从命令行执行maven插件 https stackoverflow com questions 12930656 how to execute maven plugin from command line
  • 读/写带有特殊字符的.txt文件

    I open Notepad Windows 并写 Some lines with special characters Special 并前往另存为 someFile txt 与Encoding set to UTF 8 在Java中我有
  • 方法签名中带或不带synchronized关键字的方法具有相同的字节码

    对于以下 2 个类 获得相同的 Java 字节码 java版本 java 版本 1 8 0 181 Java TM SE 运行时环境 构建 1 8 0 181 b13 Java HotSpot TM 64 位服务器 VM 内部版本 25 1
  • 如何在java 1.8中从org.jboss.jca.adapters.jdbc.jdk8.WrappedConnectionJDK8转换为oracle.jdbc.OracleConnection

    如何在 java 1 8 中从 org jboss jca adapters jdbc jdk8 WrappedConnectionJDK8 转换为 oracle jdbc OracleConnection 目前我正在这样使用并得到以下异常

随机推荐

  • 从 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