for循环输出为何从第二个元素开始,加入System.out.println后恢复正常

问题描述

很奇怪,publicclassSort1{staticintt=544;publicstaticvoidmain(String[]args)throwsIOException{intt=5;TxtInputinput=newTxtInput("e:/bishe/B.txt");double[][]aaa=newdouble[t][t];input.setSource(aaa);aaa=input.get_source();doublemax=0;//locateI记录位置intlocateI=0;for(inti=0;i<t;i++){if(max<aaa[i][i]){max=aaa[i][i];locateI=i;}}System.out.println(max+""+locateI);TxtInputinput2=newTxtInput("e:/bishe/X.txt");double[][]a2=newdouble[t][t];input2.setSource(a2);a2=input2.get_source();for(inti=0;i<t;i++){//if(a2[i][locateI])System.out.print(a2[i][locateI]+"");}Stringfilename="E:\bishe\karate.gml";InitialGraphing=newInitialGraph(filename);ing.initial();Iterator<Entry<Integer,Vertex>>itor=ing.g.getVertex().entrySet().iterator();System.out.println();//蓝色部分加上后,要正常输出就要加这句while(itor.hasNext()){Entry<Integer,Vertex>e=itor.next();//从第二个元素开始了?System.out.println(e.getKey());}}}

若把蓝色部分除去,itor正常从第一个元素输出。不过蓝色部分加上后,要正常输出就得在输出前加句System.out.println,请问大侠是什么原因呢

解决方案

解决方案二:
while(itor.hasNext()){Entry<Integer,Vertex>e=itor.next();//从第二个元素开始了?System.out.println(e.getKey());}应该是你用的next方法的缘故。话说没看到你的蓝色部分!
解决方案三:
TxtInput是什么啊你上一句没换行?
解决方案四:
不好意思,部分蓝色是指下面这一段:intt=5;TxtInputinput=newTxtInput("e:/bishe/B.txt");double[][]aaa=newdouble[t][t];input.setSource(aaa);aaa=input.get_source();doublemax=0;//locateI记录位置intlocateI=0;for(inti=0;i<t;i++){if(max<aaa[i][i]){max=aaa[i][i];locateI=i;}}System.out.println(max+""+locateI);TxtInputinput2=newTxtInput("e:/bishe/X.txt");double[][]a2=newdouble[t][t];input2.setSource(a2);a2=input2.get_source();for(inti=0;i<t;i++){//if(a2[i][locateI])System.out.print(a2[i][locateI]+"");}TxtInput是我写的另一个类。如果将蓝色的,即上面一段略去,那样就能够正常输出。否则,就要在输出前加上System.out.println();才能够从第一个元素开始遍历
解决方案五:
TxtInput是指读取文本文件的数据,存在内存里面。我怀疑是不是因为有I/O缓冲区之类的有关,还是上面原因,才导致读取文件后,遍历文件才从第二个元素读起。而System.out.println();是不是因为将上面所说的缓冲区清空了,所以遍历就恢复正常了不知道有没有这一说法。之前我用C++就有类似问题

时间: 2024-09-20 15:06:29

for循环输出为何从第二个元素开始,加入System.out.println后恢复正常的相关文章

c++-为什么这段代码循环输出的数组少了第一个元素且多出了一个随机数?

问题描述 为什么这段代码循环输出的数组少了第一个元素且多出了一个随机数? 输入一些非负实数 用数组输出这些数 求平均数并输出(输入负数时报错并退出重新输入,输入回车时执行下一步操作) #include using namespace std; int main() { int i,j,k; double a[100],sum=0,avr; part1: cout<<"输入数字"< j=0,k=0; for (i=0;getchar()!='n';i++) { cin&

空值-php 循环输出数组里元素时,空的元素不输出,怎么写

问题描述 php 循环输出数组里元素时,空的元素不输出,怎么写 $array = array('a' => "abc", 'b' => "",'c' =>"cde",'d' =>"def",'e'=>""); 我想要的结果是: 我的abc 我的cde 我的d 解决方案 先用array_filter 过滤一下,然后再遍历.

基础-斐波那契数列 利用循环输出前40项 (初学者)

问题描述 斐波那契数列 利用循环输出前40项 (初学者) 我在查了资料之后找到以下解决方法: #include int main() { long fib[41] = {0,1}; int i; for (i=2;i<41;i++) fib[i] = fib[i-1]+fib[i-2]; for (i=1;i<41;i++) printf("F%d==%dn",i,fib[i]); getch(); return 0; } 有些看不懂,希望可以帮我详细分析一下运算过程,或者

[经典面试题]输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。

[题目] 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个排好序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1. [分析] 这道题最直观的解法并不难.从头到尾遍历数组一次,就能找出最小的元素,时间复杂度显然是O(N).但这个思路没有利用输入数组的特性,我们应该能找到更好的解法.  我们注意到旋转之后的数组实际上可以划分为两个排序的子数组,而且前面的子数组的元素都大于或者等于后

java使用for循环输出杨辉三角_java

 思路是创建一个整型二维数组,包含10个一维数组.使用双层循环,在外层循环中初始化每一个第二层数组的大小.在内层循环中,先将两侧的数组元素赋值为1,其他数值通过公式计算,然后输出数组元素. 复制代码 代码如下: public class YanghuiTriangle {    public static void main(String[] args) {        int triangle[][]=new int[10][];// 创建二维数组        // 遍历二维数组的第一层 

c语言-为什么链表会无限循环输出??

问题描述 为什么链表会无限循环输出?? #include<stdio.h> #include<stdlib.h>//含malloc.h #define LEN sizeof( Faction) //一元多项式结构体 typedef struct Faction{ int coefficient;//系数 int exponent;//指数 struct Faction *next; }Faction; //创建链表 Faction *creat() { Faction *head,

在java多线程中用while循环和for循环输出的结果不同

问题描述 在java多线程中用while循环和for循环输出的结果不同 public class Demo14 { public static void main(String[] args) throws InterruptedException { MyThread2 thread2 = new MyThread2(); Thread t = new Thread(thread21""); Thread t1 = new Thread(thread22"");

js-for循环 输出结果求解

问题描述 for循环 输出结果求解 for i= 0 to 301...................30我想要的结果是<div id=1>1-10</div><div id=2>11-20</div><div id=3>21-30</div>next 解决方案 零呢?不用输出吗?对零单独处理其它的数 -1 再取模是最简单的,要不直接除以 10 也行 因为直接取模 10 与 1-9 不是一个数值. 解决方案二: [java]for循

AngularJS入门(用ng-repeat指令实现循环输出_AngularJS

循环输出列表很多项目在web服务端做,前端做好模版后后端写jsp代码,双方需要紧密合作,分清责任.有些项目由后端提供restful方法,前端用ajax调用自己循环,这种一般是大把的jquery拼字符串,太不直观,有人搞出了js模板,也没好到哪里去. 用AngularJS就爽多了,语法和JSP类似: <!doctype html> <html ng-app> <head> <meta charset="utf-8"> <title&g