Discussion:
[問題] 程式哪裡有問題阿...@@
(时间太久无法回复)
三上真史
2006-10-15 19:50:08 UTC
Permalink
各位大大...

小弟的程式是要抓出 陣列中的最大最小值

然後將資料的正規化為0~1之間的數...

可是奇怪的是 為什麼最小值一直抓不到...@@

而且程式編譯也沒錯 執行一直抓不到最小值...= =

最小值一直抓到 0.0

但是最小值是...4.0阿....Orz

請大大們幫我看看吧...<(_ _)>


import java.io.*;
import jxl.*;

class test5{

public static void main (String args[])
{
try{
Workbook workbook = Workbook.getWorkbook(new File("Book.xls"));
Sheet sheet=workbook.getSheet("Sheet1");
int r=sheet.getRows();
int c=sheet.getColumns();
float b [] = new float[13];
float max = b[0];
float min = b[0];
float d [] = new float[13];

for(int i=0;i<r;i++)
{
//for(int j=0;j<c;j++)
//System.out.print(sheet.getCell(j,i).getContents());
Cell c0 = sheet.getCell(0,i);
String s1= c0.getContents();
b [i] =Float.parseFloat(s1);
System.out.print(b[i]);
System.out.println("");
}
for(int i=0;i<b.length;i++)
{
if(b[i] > max)

max = b[i];
if(b[i] < min)
min = b[i];
}
System.out.println("max=" +max);
System.out.println("min=" +min);

for(int i=0;i<b.length;i++)
{
d[i] = (b[i]- min) / (max - min);
}
System.out.println("正規化後 : " + d[0]);
System.out.println("正規化後 : " + d[1]);
System.out.println("正規化後 : " + d[2]);
System.out.println("正規化後 : " + d[3]);
System.out.println("正規化後 : " + d[4]);
System.out.println("正規化後 : " + d[5]);
System.out.println("正規化後 : " + d[6]);
System.out.println("正規化後 : " + d[7]);
workbook.close();
}
catch(Exception e)
{
System.out.println(e);
}
}
}





--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.73.171.149
p***@kkcity.com.tw
2006-10-16 04:17:24 UTC
Permalink
Post by 三上真史
各位大大...
小弟的程式是要抓出 陣列中的最大最小值
然後將資料的正規化為0~1之間的數...
而且程式編譯也沒錯 執行一直抓不到最小值...= =
最小值一直抓到 0.0
但是最小值是...4.0阿....Orz
請大大們幫我看看吧...<(_ _)>
import java.io.*;
import jxl.*;
class test5{
public static void main (String args[])
{
try{
Workbook workbook = Workbook.getWorkbook(new File("Book.xls"));
Sheet sheet=workbook.getSheet("Sheet1");
int r=sheet.getRows();
int c=sheet.getColumns();
float b [] = new float[13];
float max = b[0];
float min = b[0];
float d [] = new float[13];
for(int i=0;i<r;i++)
{
//for(int j=0;j<c;j++)
//System.out.print(sheet.getCell(j,i).getContents());
Cell c0 = sheet.getCell(0,i);
String s1= c0.getContents();
b [i] =Float.parseFloat(s1);
System.out.print(b[i]);
System.out.println("");
}
for(int i=0;i<b.length;i++)
{
if(b[i] > max)
max = b[i];
if(b[i] < min)
min = b[i];
}
System.out.println("max=" +max);
System.out.println("min=" +min);
for(int i=0;i<b.length;i++)
{
d[i] = (b[i]- min) / (max - min);
}
System.out.println("正規化後 : " + d[0]);
System.out.println("正規化後 : " + d[1]);
System.out.println("正規化後 : " + d[2]);
System.out.println("正規化後 : " + d[3]);
System.out.println("正規化後 : " + d[4]);
System.out.println("正規化後 : " + d[5]);
System.out.println("正規化後 : " + d[6]);
System.out.println("正規化後 : " + d[7]);
workbook.close();
}
catch(Exception e)
{
System.out.println(e);
}
}
}
因為min的值吧!
--
┌─────◆KKCITY◆─────┐▇─┐KKADSL→六星級優質連線服務
│ bbs.kkcity.com.tw │┴ └─▇ 馬上申請帶你上網環遊全世界!
└──《From:211.75.42.221 》──┘ KKADSL ┴  http://adsl.kkcity.com.tw 
--

继续阅读narkive:
Loading...