0

ファイルから偶数行を読み取り、奇数行をそのままにして逆に印刷したいのは、すべての行を逆に印刷するコードです。

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;


public class RevWords
{
public static void main(String[] args) throws IOException
{   
    BufferedReader br = new BufferedReader(new InputStreamReader(new    
    FileInputStream("home.txt"), "UTF-8"));                

    String lines = br.readLine();
    ArrayList<String> buffer = new ArrayList<String>();
    while (lines!=null )

    {   

     if (lines!=null)

                     {   
            buffer.add("\n");

            StringBuilder str = new StringBuilder();
            String[] splitStr = lines.split(" ");
            for (int i = splitStr.length; i > 0; i--) {
                str.append(splitStr[i - 1]).append(" ");
            }

            buffer.add(str.toString()); 
        }


        lines=br.readLine();
    }


    for(int i = buffer.size()-1; i>=0; i--)
    {

        System.out.print(buffer.get(i));
    }

    br.close();
   }
}

私のhome.txtは

One reason people lie is to achieve personal power. 
Achieving personal power is helpful for someone who pretends to be more confident than 
he really is.
For example, one of my friends threw a party at his house last month. 
He asked me to come to his party and bring a date. However,
I didn’t have a girlfriend. One of my other friends, 
who had a date to go to the party with, asked me about my date.
I didn’t want to be embarrassed,
so I claimed that I had a lot of work to do. 
I said I could easily find a date even better than his if I wanted 
I also told him that his date was ugly. I achieved power to help me feel confident; 
however, I embarrassed my friend and his date. 
Although this lie helped me at the time,
since then it has made me look down on myself.

私の出力は

myself. on down look me made has it then since
time, the at me helped lie this Although
date. his and friend my embarrassed I however,
confident; feel me help to power achieved I ugly. was date his that him told als
o I
wanted I if his than better even date a find easily could I said I
do. to work of lot a had I that claimed I so
embarrassed, be to want didn?t I
date. my about me asked with, party the to go to date a had who
friends, other my of One girlfriend. a have didn?t I
However, date. a bring and party his to come to me asked He
month. last house his at party a threw friends my of one example, For
is. really he than confident more be to pretends who someone for helpful is powe
r personal Achieving
power. personal achieve to is lie people reason One

奇数行をそのままにして、偶数行を逆に印刷する方法

4

2 に答える 2

0

次のスニペットはあなたの仕事をします:

br = new BufferedReader(new InputStreamReader(new FileInputStream("/home/smd/Desktop/test.txt"), "UTF-8"));
        String lines = br.readLine();
        ArrayList<String> buffer = new ArrayList<String>();
        //Counter to keep count of line
        int counter = 0;
        while (lines != null) {
            counter++;
            buffer.add("\n");
            /*
             * Check for odd line. If line is odd, revers it, else take the line as it is.
             */
            if (counter % 2 == 0) {
                StringBuilder str = new StringBuilder();
                String[] splitStr = lines.split(" ");
                for (int i = splitStr.length; i > 0; i--) {
                    str.append(splitStr[i - 1]).append(" ");
                }
                buffer.add(str.toString());
            } else {
                buffer.add(lines);
            }
            lines = br.readLine();
        }
        /*
         * Print from buffer. Even buffer.toString() will work, but it appends comma ',' to separate line and add braces to whole string.
         */
        for (int i = 0; i < buffer.size() - 1; i++) {
            System.out.print(buffer.get(i));
        }
        br.close();

コードに加えられた変更: - カウンターを使用して、Line が奇数かどうかを確認します。行が奇数の場合は反転し、そうでない場合は元の行を使用します。- 逆順ではなく、バッファから直接出力します。

于 2013-10-31T12:40:02.867 に答える