我正在学习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()));
答案 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作为一个门钉”结合起来,我们会得到“作为一个伪造的死广告”,我们就是你标签上的文字。