A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

从键盘接收多个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();
        }
}


我感觉我好像理解错了,是不是单独的值不需要反转,另外上上你的做法参考参考,谢谢

3 个回复

倒序浏览
各方人士在哪
回复 使用道具 举报
feng_pump 来自手机 中级黑马 2016-9-18 12:52:10
藤椅
他说倒序应该是说按从大到小的顺序吧,你在stringbuilder之前加Collections.sort(list);
回复 使用道具 举报
我这有点麻烦,看着挺基础的,你看是这样的吗

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();
               
               
               
               

        }

}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马