Java 将String.format与RPGLE一起使用

Java 将String.format与RPGLE一起使用,java,ibm-midrange,rpgle,rpg,Java,Ibm Midrange,Rpgle,Rpg,我想将RPGLE与String.format接口,它采用可变长度参数或数组,我还想传递数字和字符串,因此我将使用类似hello%s的格式,您已经%d岁了。有人能给我一些建议,告诉我如何在RPGLE中创建原型吗 更新 似乎有些人对这个问题感到困惑。为了清楚起见,我想在RPGLE中创建以下原型。请注意,该方法的第二个参数是varargs参数,因此可以提供任意数量的参数!RPGLE肯定不支持这一点,但它确实支持*nopass,因此这将有助于实现我需要的结果 String format = "|%1

我想将RPGLE与String.format接口,它采用可变长度参数或数组,我还想传递数字和字符串,因此我将使用类似hello%s的格式,您已经%d岁了。有人能给我一些建议,告诉我如何在RPGLE中创建原型吗

更新

似乎有些人对这个问题感到困惑。为了清楚起见,我想在RPGLE中创建以下原型。请注意,该方法的第二个参数是varargs参数,因此可以提供任意数量的参数!RPGLE肯定不支持这一点,但它确实支持*nopass,因此这将有助于实现我需要的结果

  String format = "|%1$-10s|%2$-10s|%3$-20s|\n";
  System.out.format(format, "FirstName", "Init.", "LastName");

  or

  String.format(format, "FirstName", "Init.", "LastName");

我对如何在RPGLE中格式化字符串不感兴趣,我想创建一个java方法的原型

您想使用Java有什么特别的原因吗?在许多应用程序中,启动JVM的开销可能是致命的。RPG本身可以很容易地使用连接来实现这一点

/free
 resultString = 'hello ' + %trim(name) + ', you are ' + 
                %trim(%char(years)) + ' years old';
/end-free

您想使用Java有什么特别的原因吗?在许多应用程序中,启动JVM的开销可能是致命的。RPG本身可以很容易地使用连接来实现这一点

/free
 resultString = 'hello ' + %trim(name) + ', you are ' + 
                %trim(%char(years)) + ' years old';
/end-free

使用消息进行格式化如何。。。它们非常强大,文本是外部化的,并且能够识别CCSID

您可以使用API检索格式化的消息


使用RPG代码时,调用本机功能总是比Java更快。

使用消息进行格式化如何。。。它们非常强大,文本是外部化的,并且能够识别CCSID

您可以使用API检索格式化的消息


在使用RPG代码时,调用本机功能总是比Java更快。

是的,因为我需要将其传递给PDF创建程序,并且它需要比RPG更强大的格式化程序has@jax:您需要什么更强大的格式化功能?如果您可以在RPG中生成完全格式的字符串,它将简化传递到Java中的参数,您只需传递完成的字符串,而不是可变数量的数据。Java PDF类将为我进行格式化。我只需要一种方法来传递带有可变参数的格式化字符串,以提高灵活性。@jax:您使用单词format的方式太多了。需要说明的是,格式化字符串已经应用了格式化。这就是为什么我称它为成品字符串。您还没有告诉我们为什么不能将完成的字符串传递给Java。或者,你需要RPG为你做什么?如果您对RPG格式如此不满意,为什么不能用Java完成整个过程?我想说的主要一点是,实际上你还没有告诉我们足够的上下文信息。虽然可以使用RPG作为控制器来调用所有Java,但你为什么要这样做?调用Java的能力增加了调用PDF库或POE库的能力。RPG中没有的东西。告诉我们您正在调用哪个PDF库,也许是一些示例代码。我们只是不明白你想做什么。是的,因为我需要把它传递给一个PDF创建程序,它需要一个比RPG更强大的格式化程序has@jax:您需要什么更强大的格式化功能?如果您可以在RPG中生成完全格式的字符串,它将简化传递到Java中的参数,您只需传递完成的字符串,而不是可变数量的数据。Java PDF类将为我进行格式化。我只需要一种方法来传递带有可变参数的格式化字符串,以提高灵活性。@jax:您使用单词format的方式太多了。需要说明的是,格式化字符串已经应用了格式化。这就是为什么我称它为成品字符串。您还没有告诉我们为什么不能将完成的字符串传递给Java。或者,你需要RPG为你做什么?如果您对RPG格式如此不满意,为什么不能用Java完成整个过程?我想说的主要一点是,实际上你还没有告诉我们足够的上下文信息。虽然可以使用RPG作为控制器来调用所有Java,但你为什么要这样做?调用Java的能力增加了调用PDF库或POE库的能力。RPG中没有的东西。告诉我们您正在调用哪个PDF库,也许是一些示例代码。我们只是不明白你想做什么。我需要将字符串传递给java应用程序。你可以在从API获取文本后创建字符串。我需要将字符串传递给java应用程序。你可以在从API获取文本后创建字符串。你误解了我们的问题。我们知道您要使用的JavaAPI接受变量参数。我们要说的是:后退一步,看看你正在努力实现的更大的图景。为什么要使用JavaAPI?为什么不能将更多的工作转移到RPG,或者将更多的工作转移到Java?显然你不喜欢或不愿意考虑1,所以
为什么不能执行2?我使用RPGLE中的sprintf C库函数来执行相同的操作。为什么需要Java来做这件事?你误解了我们的问题。我们知道您要使用的JavaAPI接受变量参数。我们要说的是:后退一步,看看你正在努力实现的更大的图景。为什么要使用JavaAPI?为什么不能将更多的工作转移到RPG,或者将更多的工作转移到Java?显然,你不喜欢或不愿意考虑1,所以为什么你不能做2?我用SpRIFTF C库函数在RPGLE做同样的事情。为什么需要Java来做这件事?