这个输出是什么以及如何?

时间:2015-09-29 04:02:04

标签: java string

我正在学习Java,我不知道这会输出什么,如果有人可以解释它是如何工作的以及它输出的是什么。提前谢谢。

    Label displayLabel = new Label();
    String str1 = "As dead as a doornail";
    String str2 = str1.substring(3, 9);
    displayLabel.setText(str2 + str1.substring(str2.length()));

3 个答案:

答案 0 :(得分:0)

Label是一个类对象。 子串用于剪切String的部分 第一个子串,     str1.substring(3,9); 通过具有2个参数的字符串类,substring(int begin,int end),它将为您提供从begin开始直到达到所需结束字母的字母。

那个子串会给你"死了#34;因为第一个字母将以0开头。

  

str1 [0] =' A'

     

str1 [1] =' s'

     

str1 [2] =' '

     

str1 [3] =' d'

     

str1 [4] =' e'

     

str1 [5] =' a'

     

str1 [6] =' d'

     

str1 [7] =' '

     

str1 [8] =' a'

     

str1 [9] =' s'

     

str1 [10] =' '

     

str1 [11] =' a'

     

str1 [12] =' '

     

str1 [13] =' d'

     

str1 [14] =' o'

     

str1 [15] =' o'

     

str1 [16] =' r'

     

str1 [17] =' n'

     

str1 [18] =' a'

     

str1 [19] =' i'

     

str1 [20] =' l'

所以在每个字母后面,从0开始,你必须开始字符串@ 3,即d,直到它结束@ 9,即d。这就是"死了#34;。

现在是另一个子串..它与第一个

不同
str1.substring(str2.length())

这一个只有1个参数,这个意思就是我们开始剪切时的数字。 so ... str2.length()是用户选择的数字,在这种情况下是7 .. dead = 4,空间计数为1,as = 2。 我们将从str [7]开始计数,这是一个空间。我们将把这个空间的所有东西都带到最后。

给了我们"作为一个doornail"

现在......整个代码..

str2 + str1.substring(str2.length())

意味着我们将结合str2,这是"死了"和我们刚刚做过的前一个子串"作为一个doornail"

它会给我们......"像一个门槛一样死了#34;

displayLabel.setText

这个来自Label类的方法现在将设置标记为&#34的文本;像doornail一样死了#34;。

这就是它的全部。

答案 1 :(得分:0)

实际上,您的代码不会输出任何内容。您正在创建Label对象。它不会创建任何视觉或文本输出。它只会在内存中添加一些新对象。让我们逐行看一下。

Label displayLabel = new Label();

此行创建一个名为Label的新displayLabel对象。

String str1 = "As dead as a doornail";

此行创建一个字符串对象,其值为“as as an doornail”,称为str1

String str2 = str1.substring(3, 9);

此行创建另一个字符串。它的值是str1的子字符串。在方法参数中,我们知道它是str1索引9处字母的索引3处的字母。又名“死了”。

displayLabel.setText(str2 + str1.substring(str2.length()));

正如您在此处所见,此行设置您在第一行中创建的显示标签的文本。那究竟是什么文字? str2 + str1的子字符串。

str1.substring(str2.length())计算为“作为doornail”。再加上str2,价值就像死亡一样死了。

摘要:代码会创建一个标签,其中的文字“像门槛一样死”

答案 2 :(得分:-1)

第一行创建并初始化Label对象。第二行创建一个新的String,其值为“As as an doornail”。到目前为止非常严厉。

第三行从第一个字符串开始,从第四个字符(在索引3处)到第9个字符,在这种情况下是“死a”。

第四行计算setText()方法内的String,并将其设置为标签上的文本。评估结果如下:

首先我们把str2的值与前面所说的“死a”一致,并且在str2的值的末尾我们追加str1.substring(str2.length())的值,这是“ d作为一个门钉“。
因此,将“死亡的一个”与“d作为一个门钉”结合起来,我们会得到“作为一个伪造的死广告”,我们就是你标签上的文字。