我是一名新手程序员,我正在尝试做一些项目,我觉得这很有趣,可以帮助我更多地了解我的学校课程所能提供的语言。我想尝试反转一个字符串但是我没有在一个字符串中定义字符串,而是添加了一个扫描程序,以便允许用户输入他们想要的内容。在寻找任何帮助之后,我无法找到我遇到的问题。到目前为止,我有这个:
import java.util.ArrayList;
import java.util.Scanner;
public class Reverse {
static ArrayList<String> newString = new ArrayList();
static int inputLength = 0;
static String PlaceHolder = null;
static String beReturned = null;
static int lengthArray = 0;
static String ToBeReversed;
static String hold = null;
public static void reversal(){
inputLength = ToBeReversed.length();
for (int e = 0; e <= inputLength; e++)
{
PlaceHolder = ToBeReversed.substring(inputLength -1, inputLength);
newString.add(PlaceHolder);
}
}
public static String putTogether()
{
int lengthcounter = 0;
lengthArray = newString.size();
for (int i = 0; i < lengthArray; i++)
{
beReturned = beReturned + newString.get(lengthcounter);
if (lengthcounter < lengthArray)
{
lengthcounter++;
}
}
return beReturned;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in); //create a new scanner
ToBeReversed = input.nextLine();
Reverse.reversal();
Reverse.putTogether();
}
}
对于我输入的任何输入,没有结果。我没有收到错误消息或任何形式的返回...输出为空。我只是想知道我是否犯了扫描仪错误,或者我是如何尝试存储字符/从我创建的ArrayList访问它们。我试图不让其他人完全用所有修复程序给我答案,我希望我能得到一个指针或暗示我搞砸了。感谢您的时间和帮助。
答案 0 :(得分:1)
您需要打印输出,例如
public static void main(String[] args) {
Scanner input = new Scanner(System.in); //create a new scanner
ToBeReversed = input.nextLine();
System.out.println("ToBeReversed = " + ToBeReversed);
Reverse.reversal();
System.out.println("newString = " + newString);
System.out.println(Reverse.putTogether());
}
我不想给出完整的答案,因为这会破坏你的乐趣(并为你开始使用调试器提供机会),但这里有一些提示......
String#charAt
从给定索引的String
获取单个字符String
,List
之类的内容从索引0
开始,然后转到length - 1
null
+ String
= nullString
;)for-loop
不必按升序0-x
运行,它们可以按降序运行x-0
;)