java程序设计中的问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 22:48:16
import java.util.*;
public class NameChange{
public static void main(String[] args){
Scanner console=new Scanner(System.in);
System.out.print("Please enter your full name:");
String s=console.nextLine();
System.out.print("Your name in reverse order is:");
int a=s.indexOf(" ");
System.out.print(s.substring(a+1,s.length()));
System.out.println(" ");
System.out.print(s.substring(0,a));
}
}

如上一段程序,目的是将用户输入的用户名逆序输出,但是运行结果只输出后半段,例如输入java program,输出为program,不能输出java,请问下为什么,想了半天想不通,程序无语法错误。

System.out.print(s.substring(a+1,s.length()));
System.out.println(" ");
System.out.print(s.substring(0,a));

第一句没换行 第二句换了
最后两个单词不是显示在同一行,会不会是你看错了

像这种 分割字符的事 最好用java.util.StringTokenizer来做 很方便的

//你的代码没问题。。。仔细看。。。因为你换了行
Scanner console=new Scanner(System.in);
System.out.print("Please enter your full name:");
String s=console.nextLine();
System.out.println(s);
System.out.print("Your name in reverse order is:");
int a=s.indexOf(" ");
System.out.print(s.substring(a+1,s.length()));
//这行和你有区别
System.out.print(" ");
System.out.print(s.substring(0,a));

好像程序没有问题 我运行的结果是这样的:

Please enter your full name:aaaa dddd
Your name in reverse order is:dddd
aaaa

你是不是 看错了