所以我的老师告诉我要制作一个字符串,使我输入的内容按相反的顺序排列 (例如“你好那里”变成“ereht olleh”)。到目前为止,我在身体上工作,我想出了这个
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
(The input needs to be in here)}}
public static String rev(String str) {
String reversed = "hello there";
for (int i = 0; i < str.length(); i++) {
reversed = str.charAt(i) + reversed;
}
return reversed;
我现在的问题是我需要在 public static void main(String [] args)下放置它才能使它工作。是的,我明白这是家庭作业,我试着通过这本书寻求帮助(没有运气)。我试着在互联网上寻找(没有运气,多亏了我对更先进的方法的了解不多)。我将不胜感激任何帮助,并提前感谢任何人。 我使用netbeans,如果这会有所帮助。
答案 0 :(得分:6)
public static String rev(String str) {
String reversed = "";
for (int i = 0; i < str.length(); i++) {
reversed = str.charAt(i) + reversed;
}
return reversed;
}
public static void main(String[] args) {
if (args.length > 0) {
System.out.println(rev(args[0]));
}
}
阅读args数组。
答案 1 :(得分:3)
少数事情:
由于您要将字符反向添加到字符串reversed
,因此它应该是一个空字符串开头:
String reversed = "";
要从main
调用此方法,请将需要反转的字符串传递给它。类似的东西:
public static void main(String...args[]) {
System.out.println(rev("hello there"));
}
或者,您可以将要反转的字符串作为用户的输入读取,然后将其传递给rev
函数。
答案 2 :(得分:2)
考虑到家庭作业标签,尽量使其尽可能不透明,您至少应该重新检查reversed
的初始值。你拥有它的方式,你将得到一个除了所需的"ereht olleh"
之外的其他东西。
关于如何从命令行获取参数的具体问题,下面打印出所有参数,并为您自己的代码奠定良好的基础:
public static void main (String[] args) {
for (int i = 0; i < args.length; i++)
System.out.println (args[i]);
}
}
答案 3 :(得分:0)
阅读控制台输入:
public static void main(String[] args) {
String curLine = ""; // Line read from standard in
System.out.println("Enter a line of text");
InputStreamReader converter = new InputStreamReader(System.in);
BufferedReader in = new BufferedReader(converter);
curLine = in.readLine();
System.out.println(rev(curLine));
}