![](/img/trans.png)
[英]Why can't I use values of nodes I retrieve by using exsl:node-set/set:distinct in an XPath-Expression?
[英]Why I can't retrieve array values?
我想打印存儲的數組值。但是當我這樣做時,它只打印空值。 我的代碼有什么問題。 當我檢查數組length()時。 打印長度。 但是,當我嘗試檢索值時,它僅提供空值。
public class StoreVal
{
static String[] values1=new String[100];
static String[] kmvalues1=new String[200];
public static void setvalues()
{
try
{
@SuppressWarnings("resource")
BufferedReader b1=new BufferedReader(new FileReader("d://values//kmeans0.txt"));
@SuppressWarnings("resource")
BufferedReader b2=new BufferedReader(new FileReader("d://values//kmeans1.txt"));
@SuppressWarnings("resource")
BufferedReader b3=new BufferedReader(new FileReader("d://values//kmeans2.txt"));
@SuppressWarnings("resource")
BufferedReader b4=new BufferedReader(new FileReader("d://values//kmeans3.txt"));
String km1 = null;
String km2 = null;
String km3 = null;
String km4 = null;
while((km1=b1.readLine())!=null)
{
int i=0;
values1[i]=km1;
System.out.println(values1[i]);
}
}
catch(Exception e)
{
e.printStackTrace();
}
values();
}
public static void values()
{
for(int x=0;x<values1.length;x++)
{
System.out.println(values1[x]); // this line prints only null
}
}
public static void main(String[] args)
{
setvalues();
}
}
while((km1=b1.readLine())!=null)
{
int i=0;
values1[i]=km1;
System.out.println(values1[i]);
}
讓我感到您僅在為values1[0]
插入值!
您需要在while循環上方設置int i=0
並使其遞增i++;
在循環內。
int i=0;
while((km1=b1.readLine())!=null)
{
values1[i]=km1;
System.out.println(values1[i]);
i++;
}
您必須在循環中增加計數器變量i
:
int i = 0;
while((km1 = b1.readLine()) != null) {
values1[i] = km1;
System.out.println(values1[i]);
i++;
}
您只為數組的第一個元素設置值。
while((km1=b1.readLine())!=null)
{
int i=0;
values1[i]=km1;
System.out.println(values1[i]);
}
你需要這個:
int i = 0;
while((km1=b1.readLine())!=null)
{
values1[i]=km1;
System.out.println(values1[i++]);
}
問題是您不增加i變量(另一個問題是i變量在循環內初始化)。
代替while循環,請嘗試以下操作:
for(int i=0; i< values1.length;i++)
{
if((km1=b1.readLine())==null)break;
values1[i]=km1;
System.out.println(values1[i]);
}
注意:這樣,您就不會超過values1的長度。
就像已經說過的那樣,您只是忘記了在while
循環的每次迭代中增加i
的值,因此數組值remian null-沒有分配任何值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.