关于输入5句话然后将它逆序输出问题~~~
题目就是依次输入五句话,然后将它逆序输出,我写了一段代码,但是输出有问题。直接上程序,请指点下。谢谢~~
这是我写的
import java.util.Scanner;
import java.util.Arrays;
public class Two {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String talk[] = new String[5];
System.out.println("请输入5句话");
for(int i=0; i<talk.length; i++) {
System.out.println("第" + (i+1) + "句话:");
talk[i] = input.next();
}
//Arrays.sort(talk);
System.out.println("逆序输出5句话");
for(int i=talk.length-1; i>=0; i--) {
System.out.println(talk[i]);
}
}
}
然后运行输入五句话:
请输入5句话
第1句话:
在java中
第2句话:
数据类型分两种
第3句话:一种是基本数据类型
第4句话:另一种是引用数据类型
第5句话:要清楚这两种数据类型的区别
但是运行后结果
逆序输出5句话
要清楚这两种数据类型的区别qu //这里怎么会有拼音呢“qu”?
另一种是引用数据类型yi //还有这里
一种是基本数据类型sh //还有这里
sh数据类型分两种 //还有这里
在java中
------解决方案--------------------读写交错就会出这个问题,
将行
System.out.println("第" + (i+1) + "句话:");
去掉即可。
------解决方案--------------------我运行没错误。。。。难道是编译器编码的问题?
------解决方案--------------------have a try
talk[i] = input.next(); -> talk[i] = input.nextLine();
------解决方案--------------------
------解决方案--------------------import java.io.BufferedReader;
import
java.io.IOException;
import java.io.InputStreamReader;
public class Demo {
public static void main(String args[]) throws
IOException{
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
String str[] = new String[5];
for(int i = 0;i<5;i++){
str[i] = buf.readLine();
}
for(int j = 4;j>=0;j--){
System.out.println("第"+j+"句:");
System.out.println(str[j]);
}
}
}
这样可以正确输出啊。