求各位大神帮忙。。。

Game-Over 2014-03-04 06:45:02
去从text文件中读取数据并且存他们进入array.然后从大到小print出来。
print出来的还有格式要求一行八个,靠左对齐。

import java.io.*;
import java.util.*;

public class gradeprint{
public static void main(String[] args)throws IOException{
Scanner in = new Scanner (new FileReader("data.txt"));
for () {

}

for () {



}}}



这个是格式


90
80
76
95
87
36
95
95
56
68
78
87
98
87
45
67
95
34
92
80
95
90
76
95
95
48
95
64
68
45
...全文
184 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zmbc48 2014-03-08
  • 打赏
  • 举报
回复
数组是不可变的,用list是对的。java基础啊!!!
Game-Over 2014-03-04
  • 打赏
  • 举报
回复
各位大神,帮帮忙啦。。。
Game-Over 2014-03-04
  • 打赏
  • 举报
回复
引用 6 楼 u012945394 的回复:
我写出来一些,我觉得应该是可以的,但是不知道为什么就是不好使。
import java.io.*;
import java.util.*;

public class gradeprint{


	public static void main(String[] args)throws IOException{
		Scanner in = new Scanner (new FileReader("data.txt"));
		while(in.hasNextInt()){
		int[]	number=in.nextInt();
		for (int i=0; i<number; i++) {
		return number;}
		int [] count=new int[number];}
	public static void displayarray(int[] number){
		for (int i=0;i<number;i++){
			if((i+1)%8==0)
			System.out.println(count[i]+(int)(i));
			else
			System.out.print(count[i]+""+(int)(i)+"");
		}

	}}}
求各位大神,给点code例子可以让我。理论我都懂,可是我不知道怎么写,新手,太新手了。学Java不到1个月,求大神啊。中午就要用的。
Game-Over 2014-03-04
  • 打赏
  • 举报
回复
我写出来一些,我觉得应该是可以的,但是不知道为什么就是不好使。
import java.io.*;
import java.util.*;

public class gradeprint{


	public static void main(String[] args)throws IOException{
		Scanner in = new Scanner (new FileReader("data.txt"));
		while(in.hasNextInt()){
		int[]	number=in.nextInt();
		for (int i=0; i<number; i++) {
		return number;}
		int [] count=new int[number];}
	public static void displayarray(int[] number){
		for (int i=0;i<number;i++){
			if((i+1)%8==0)
			System.out.println(count[i]+(int)(i));
			else
			System.out.print(count[i]+""+(int)(i)+"");
		}

	}}}
kevinlifeng 2014-03-04
  • 打赏
  • 举报
回复
List<Integer> list = new ArrayList<Integer>(); while(in.hasNextInt()){ list.add(in.nextInt()); } //用帮助类排序 Collections.sort(list); for(int i=0;i<list.size;i++){ if(i%8==0){ System.out.println(""); System.out.print(list.get(i)); }else{ System.out.print(list.get(i)+" "); } } 估计这样可以了,我没有调试,希望你可以借鉴。
pxl_1012 2014-03-04
  • 打赏
  • 举报
回复
引用 2 楼 zmbc48 的回复:
读写文件,先一行一行的读,把读出的数字保存到一个数组中,用数组的sort()排序,然后循环输出,在判断下标是7的倍数时换行
正解,这是一个好办法,读到数组中。在排序。再每输八个换行一次(if判断)。多试几次。慢慢的就能调通了。
tony4geek 2014-03-04
  • 打赏
  • 举报
回复
一步步写的。尝试。
zmbc48 2014-03-04
  • 打赏
  • 举报
回复
读写文件,先一行一行的读,把读出的数字保存到一个数组中,用数组的sort()排序,然后循环输出,在判断下标是7的倍数时换行
Game-Over 2014-03-04
  • 打赏
  • 举报
回复
纠结死了,一点思路都没有。不知道该怎么下手。。。。
u013653412 2014-03-04
  • 打赏
  • 举报
回复

public class Test {
	

	public static void main(String[] args) throws IOException {
		List<Integer> list = new ArrayList<Integer>();
		List<Integer> xulie = new ArrayList<Integer>();
		StringBuffer buff = new StringBuffer();
		FileReader reader = new FileReader("c://123.txt");
		BufferedReader br = new BufferedReader(reader);
		String str = null;
		while ((str = br.readLine()) != null) {
			list.add(Integer.valueOf(str));
		}
		br.close();
		reader.close();
		
		//排序
		for (int i = 0; i < list.size(); i++) {
			int c = Collections.max(list);
			if (list.get(i) == c) {
				xulie.add(list.get(i));
				list.remove(i);
				i = -1;
			
			}
	}
		//输出
	 for(int j=0;j<xulie.size();j++){
		buff.append(xulie.get(j)+" "); 
		if((j+1)%8==0){
			System.out.println(buff.toString());
			buff = new StringBuffer();
		}
		
	 }

	}
}
如果不足 8 的结果数据输出想要你就自己加吧。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧