日期:2014-05-20  浏览次数:20888 次

如何将一个字符串最快速的倒序输出
import java.util.*;  
public class Ni  
{  
 public static void main(String args[]){  
  Scanner sc=new Scanner(System.in);  
  String str=sc.next();  
   
  for(int i=str.length()-1;i>=0;i--){  
  System.out.print(str.charAt(i));  
  }  
  
 }  
}  


各位大侠 求解释
Scanner是个什么函数?

------解决方案--------------------
Java code
import java.util.*;   
public class Ni   
{   
    public static void main(String args[]){   
        Scanner sc=new Scanner(System.in);   
        String str=sc.next();   
    
        System.out.println("----------method 1----------");
        char[] c = str.toCharArray();
        for(int i=c.length-1; i>=0; i--){   
            System.out.print(c);   
        }
        System.out.println();

        System.out.println("----------method 2----------");
        StringBuilder buf = new StringBuilder(str);
        System.out.println(buf.reverse());
    }   
} 

Scanner不是函数,是个扫描器类
Scanner sc=new Scanner(System.in); //生成一个扫描器类对象sc,该对象用于扫描标准输入

还可以
Scanner sc = new Scanner(new FileInputStream("test.txt")); //用于扫描文件输入

------解决方案--------------------
是扫描类
------解决方案--------------------
输出字符串str的第i个字符到控制台
------解决方案--------------------
str.charAt(i)是获取str的i位置的字符
System.out.print(str.charAt(i));//所以这里是打印str的i位置的字符
因为for循环是从后向前遍历的,所以也就达到倒序输出的效果

------解决方案--------------------
String str=sc.next(); 这个可以看成暂时缓存!String str=sc.next();这个可以看成从缓存里取字符输入到控制台

------解决方案--------------------
abc 对应的序号是 012
第一个对应的是0!!!
------解决方案--------------------
探讨
假如说 输入abc 也就是他的长度是3 而i的值不就只能取到2吗?那岂不是先输出b嘛?怎样解释?

------解决方案--------------------
Scanner类是用来扑捉用户输入的