需要一些帮助来理解这段代码的一个方面

时间:2017-03-29 05:51:18

标签: java

请参阅以下代码

import java.util.Scanner;

public class Reverse {

public static void main(String[] args) {

    String words = "";
    String output = "";

    Scanner scan = new Scanner(System.in);
    while (scan.hasNextLine()) {
        words = scan.nextLine();

        for (int i = 0; i < words.length(); i++) {
            output += words.charAt(words.length() - i - 1);
        }
        output += "\n";
    }
    System.out.print(output);


 }
}

首先,对于模糊的标题感到抱歉,但我不知道如何用其他任何方式。我是Java的新手,对于uni,我们被赋予了一个任务,它读取标准输入直到文件结尾,然后输出每行的反向。

我想知道如何

String output

能够在最后输出多个字符串。它不应该只能容纳一根绳子吗?对不起,如果这个问题没有多大意义。

3 个答案:

答案 0 :(得分:1)

Option Explicit Sub Copy_2016() Dim Cell As Range Dim RowDest As Long With Worksheets("Working - 2016") .Range("A3:AO6304").ClearContents End With RowDest = 3 ' first paste row , since you are clearing the sheet's contents With Worksheets("Working - Data") For Each Cell In .Range("A1:A6304") If Cell.value Like "2016" And Not Cell.Offset(0, 2).value Like "HI" Then Worksheets("Working - 2016").Rows(RowDest).value = Cell.EntireRow.value RowDest = RowDest + 1 End If Next Cell End With End Sub 不会包含多个字符串。字符串可以有多行,如代码中的output所示。当您打印\n时,您正在打印一个新行。这仍然是一个字符串,只有多行。

答案 1 :(得分:0)

一个字符串可以包含一系列字符。你可能不知道这一点,但是一条&#34;新线&#34;也是一个角色。这意味着以下内容可以存储在一个字符串中:

Hello World
Bye World

它只是一个包含字符&#34; Hello World&#34;的字符串,后跟一个新行字符,然后是&#34; Bye World&#34;。

在Java中,新行字符由\n表示。

在代码中,您以空字符串开头:

String output = "";

然后在循环中,您开始以相反的顺序追加字符:

output += words.charAt(words.length() - i - 1);

在while循环迭代结束之前,向输出添加一个新行:

output += "\n";

答案 2 :(得分:0)

由于 String是Java中的不可变类。不可变类只是一个无法修改其实例的类。创建实例时,将初始化实例中的所有信息,并且无法修改信息。

public class ExampleString{

public static void main(String[] args) {

   String examp="";
   examp="HI";
   examp=examp+"HOW";
   System.out.println(examp);




 }
}

输出:HIHOW