黑马程序员技术交流社区
标题:
从键盘接收多个int型的整数,倒叙打印到文件
[打印本页]
作者:
kangnam
时间:
2016-9-18 12:01
标题:
从键盘接收多个int型的整数,倒叙打印到文件
从键盘接收多个int型的整数,直到用户输入end结束 要求:把所有的整数按倒序写到D:\\number.txt中
public class IntDemo {
public static void main(String[] args) throws Exception {
Scanner sc =new Scanner(System.in);
ArrayList<String> list =new ArrayList<>();
System.out.println("请输入整数,end结束");
while(true){
String line =sc.nextLine();
if(line.equals("end")){
break;
}else{
list.add(line);
}
}
//创建字符串缓冲区,利用里面的缓冲
StringBuilder sb =new StringBuilder();
for (String s : list) {
//拼接整数
sb.append(s).append(" ");
}
String s =sb.reverse().toString();
BufferedWriter bw =new BufferedWriter(new FileWriter("1.txt"));
bw.write(s);
//关流
bw.close();
}
}
我感觉我好像理解错了,是不是单独的值不需要反转,另外上上你的做法参考参考,谢谢
作者:
kangnam
时间:
2016-9-18 12:48
各方人士在哪
作者:
feng_pump
时间:
2016-9-18 12:52
他说倒序应该是说按从大到小的顺序吧,你在stringbuilder之前加Collections.sort(list);
作者:
zhangjiesss
时间:
2016-9-18 13:20
我这有点麻烦,看着挺基础的,你看是这样的吗
package heima.it;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
/**
*
从键盘接收多个int型的整数,直到用户输入end结束 要求:把所有的整数按倒序写到D:\\number.txt中
* @author Administrator
*
*/
public class Demo2 {
public static void main(String[] args) throws IOException {
System.out.println("请输入数据,输入end结束");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new FileWriter("D:\\number.txt"));
String line=null;
while((line=br.readLine())!=null){
if ("end".equals(line)) {
break;
}
// String line=br.readLine();
StringBuffer sb=new StringBuffer();
sb.append(line);
char[] ch=sb.toString().toCharArray();
for (int i = 0; i < ch.length; i++) {
for (int j = 0; j < ch.length; j++) {
if (ch[i]>ch[j]) {
char temp=ch[i];
ch[i]=ch[j];
ch[j]=temp;
}
}
}
String str=new String(ch);
bw.write(str);
}
bw.close();
br.close();
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2