2

我想知道如何在 X=5 和 Y=2 的情况下制作一些东西,然后让它输出类似 Hello 2 World 5.

在Java中我会做 String a = "Hello " + Y + " World " + X; System.out.println(a);

那么我将如何在 TI-BASIC 中做到这一点?

4

3 回答 3

2

您有两个问题需要解决,连接字符串和将整数转换为字符串表示形式。

字符串连接非常简单,并利用了+运算符。在您的示例中:“Hello”+“World”将产生字符串“Hello World”。

在 TI-BASIC 中将数字转换为字符串并不容易,但此处提供了一种与 TI-83+/84+ 系列兼容的方法。以下代码和解释引自链接页面:

:"?
:For(X,1,1+log(N
:sub("0123456789",ipart(10fpart(N10^(-X)))+1,1)+Ans
:End
:sub(Ans,1,length(Ans)-1?Str1

将我们的数字存储在 N 中,我们遍历 N 的每个数字并将数字字符存储到我们的字符串中,该字符串位于我们的子字符串中的匹配位置。您可以使用 iPart(10fPart(A/10^(X) 访问数字中的单个数字,然后找到它在字符串“0123456789”中的位置。需要添加 1 的原因是它可以与 0 数字一起使用.

为了构造一个包含所有数字的字符串,我们首先创建一个虚拟字符串。这就是“?不必使用另一个字符串变量,因为 Ans 可以像字符串一样工作,它会相应地更新,而且 Ans 也比字符串变量快。

当我们完成 For( 循环时,我们所有的数字字符都放在 Ans 中。但是,因为我们最初在字符串中存储了一个虚拟字符,所以现在需要删除它,我们通过获取子字符串来完成从字符串的第一个字符到倒数第二个字符。最后,我们将字符串存储到一个更永久的变量(在本例中为 Str1)以供将来使用。

转换为字符串后,您可以简单地使用+运算符将​​字符串文字与转换后的数字字符串连接起来。

您还应该查看一个类似的 Stack Overflow question,它解决了类似的问题。

于 2015-11-24T04:34:13.073 回答
2

如果您知道“Hello”和“World”的长度,那么您可以简单地使用Output(),因为 Disp 在每个语句之后都会创建一个新行。

于 2016-01-22T01:36:06.847 回答
2

对于这个问题,您可以使用 5.2.0 版本中引入的 toString( 函数。此函数将数字转换为字符串,您可以使用它轻松地将数字和字符串一起显示。最终会是这样的:

Disp "Hello "+toString(Y)+" World "+toString(X)
于 2016-12-08T15:07:15.933 回答