gpt4 book ai didi

java - 如何在 if 语句和 for 循环之外获取数组

转载 作者:行者123 更新时间:2023-12-01 18:47:54 25 4
gpt4 key购买 nike

我正在开发一个应用程序,但遇到了一个问题......我无法访问 if 语句之外的数组...这是我的代码:

public class MainActivity extends Activity {

TextView textLat;
TextView textLong;
TextView textChange;
TextView testid;
float gpsSpeed = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

textLat = (TextView)findViewById(R.id.textLat);
textLong = (TextView)findViewById(R.id.textLong);
textChange = (TextView)findViewById(R.id.textChange);
testid = (TextView)findViewById(R.id.testid);

LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
LocationListener ll = new mylocationlistener();
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);


}
@SuppressWarnings("unchecked")
public static void main(String argv[]) {

try {

File fXmlFile = new File("/Users/mkyong/staff.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);

//optional, but recommended
//read this - http://stackoverflow.com/questions/13786607/normalization-in-dom-parsing-with-java-how-does-it-work
doc.getDocumentElement().normalize();

NodeList nList = doc.getElementsByTagName("station");
int rows = nList.getLength();
int cols = 9;

for (int temp = 0; temp < nList.getLength(); temp++) {

Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {

Element eElement = (Element) nNode;

String[][]options = new String[cols][rows];

options[0][0] = eElement.getElementsByTagName("name").item(0).getTextContent();
options[1][0] = eElement.getElementsByTagName("code").item(0).getTextContent();
options[2][0] = eElement.getElementsByTagName("lat").item(0).getTextContent();
options[3][0] = eElement.getElementsByTagName("long").item(0).getTextContent();
options[4][0] = eElement.getElementsByTagName("longlat").item(0).getTextContent();
options[5][0] = eElement.getElementsByTagName("uziadvies").item(0).getTextContent();
options[6][0] = eElement.getElementsByTagName("bijzonderheden").item(0).getTextContent();
options[7][0] = eElement.getElementsByTagName("ref").item(0).getTextContent();
options[8][0] = eElement.getElementsByTagName("groterkleiner").item(0).getTextContent();

}
}
} catch (Exception e) {
e.printStackTrace();
}
}
class mylocationlistener implements LocationListener {

@Override
public void onLocationChanged(Location location) {
if(location != null)
{
double pLong = location.getLongitude();
double pLat = location.getLatitude();
gpsSpeed = ((location.getSpeed()*3600)/1000);

textLat.setText(Double.toString(pLat));
textLong.setText("jo");

double compareLatCoords = 51.704704;
double compareLongCoords = 4.854369;

testid.setText(Float.toString(gpsSpeed));

if (pLat <= compareLatCoords)
{
textChange.setText("Je bent net de bedaulxstraat doorgereden");
}
if (pLong >= compareLongCoords)
{
textChange.setText("U bent door een andere straat gereden dan daarnet.");
}
}

}

@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub

}

@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub

}

@Override
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
// TODO Auto-generated method stub

}


}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

这是关于数组:options[i][j],我无法在 if 语句之外进行访问...我已经研究了两天了,但找不到解决方案......

编辑:感谢您的所有答案,但是当我尝试访问 public void onLocationChanged(Location location) { 中的变量(例如:options[1][0])时...}。我收到错误:选项无法解析为变量。

问候,肯尼思

最佳答案

for-loop之外声明数组String[][]options并在必要时定义它。

String[][]options = null;
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
options = new String[cols][rows];
...

关于java - 如何在 if 语句和 for 循环之外获取数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16916173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com