java程序如何写入数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java程序如何写入数组相关的知识,希望对你有一定的参考价值。

写java程序的问题,
要用到array,iterative和comparison这些表达式和办法。输入一组数字比如:7 16 5 2 9 13 4 19. 第一个输出是 [7 16 5 2 9 13 4 19],第二个输出是[16 7 5 2 13 9 19 4],(就是每两个比大小,大的换到前面). 第三个输出是[16 7 5 2 19 4 13 9],(16和7这组最大的与5和2这组最大的比,大的换到前面,后面四个数同理).第四个输出[19 4 13 16 2 7 5 9],(这一步就是我看不懂的规律了).

package s1e102.tim;

import java.util.Arrays;

public class ArrayDemo
public static void main(String[] args)
int[] array = new int[] 7, 16, 5, 2, 9, 13, 4, 19 ;
System.out.println(Arrays.toString(array));
for (int i = array.length - 1; i > 0; i--)
// 每一次都把较大的数推去左边
for (int j = 0; j < i; j++)
int temp;
if (array[j] < array[j + 1])
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;


System.out.println(Arrays.toString(array));




输出结果:
[7, 16, 5, 2, 9, 13, 4, 19]
[16, 7, 5, 9, 13, 4, 19, 2]
[16, 7, 9, 13, 5, 19, 4, 2]
[16, 9, 13, 7, 19, 5, 4, 2]
[16, 13, 9, 19, 7, 5, 4, 2]
[16, 13, 19, 9, 7, 5, 4, 2]
[16, 19, 13, 9, 7, 5, 4, 2]
[19, 16, 13, 9, 7, 5, 4, 2]

就算是用冒泡也不像题目说的,数学问题我懒得想,还是帮不了你.SORRY
参考技术A 采用冒泡排序。。 不懂去网上查下 再不懂问我

Java - 不要用缓冲写入器覆盖

【中文标题】Java - 不要用缓冲写入器覆盖【英文标题】:Java - Do not overwrite with bufferedwriter 【发布时间】:2012-01-25 03:50:37 【问题描述】:

我有一个将人员添加到数组列表的程序。我要做的是将这些人也添加到一个文本文件中,但程序会覆盖第一行,因此这些人会被删除。

如何告诉编译器在下一个空闲行写入?

import java.io.*;
import java.util.*;
import javax.swing.JTextArea;

public class Logic 

File file;
FileWriter fw;
FileReader fr;
BufferedWriter bw;
ArrayList<Person> person;

public Logic() 
    try 
        file = new File("register.txt");

        if (!file.exists()) 
            file.createNewFile();
        
     catch (IOException e) 
    

    person = new ArrayList<Person>();


// Add person
public void addPerson(String name, int tele) 
    person.add(new Person(name, tele));
    savePerson(name, tele);


// Save person to external file
public void savePerson(String name, int tele) 
    try 
        fw = new FileWriter(file.getName());
        bw = new BufferedWriter(fw);
        String tel = Integer.toString(tele);
        bw.write(name + "\t" + tel);
        bw.newLine();
        bw.close();

     catch (Exception e) 
        System.out.println("skrev inte ut med buffered");
    


// Går in i alla objekt av klassen Person och skriver ut toString i
// textArean
public void visaAlla(JTextArea textRuta) 
    textRuta.setText("");
    // for(Person p:person)
    // 
    // textRuta.append(p.toString());
    // 

    try 
        fr = new FileReader(file.getName());
        BufferedReader in = new BufferedReader(fr);
        String str;

        while ((str = in.readLine()) != null) 
            textRuta.append(str);
        

     catch (Exception e) 
        System.out.println("gickcinte ");
    


【问题讨论】:

【参考方案1】:

FileWriter 采用optional boolean argument 指定它是否应该附加到现有内容或覆盖现有内容。如果要以追加模式打开文件进行写入,请传入true

【讨论】:

以上是关于java程序如何写入数组的主要内容,如果未能解决你的问题,请参考以下文章

如何准确计算 Java 程序写入或读取文件所需的时间?

201621123080《Java程序设计》第12周学习总结

如何将数组写入文件Java

用java编写程序,利用线程同步编写一个栈操作程序,包括数据的进栈和出栈。

如何将所有系统输出写入JAVA中的文件?

java中如何通过IO流将稀疏数组写入磁盘和从磁盘中读取,整行存,整行取