Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将字符串数组转换为int数组_Java_Xml_Arrays_String_Int - Fatal编程技术网

Java 将字符串数组转换为int数组

Java 将字符串数组转换为int数组,java,xml,arrays,string,int,Java,Xml,Arrays,String,Int,我正在尝试将字符串数组(listview\u数组)转换为int数组,然后比较数字。不幸的是,每次我执行应用程序时,它都会崩溃 代码如下: public class FindStop3 extends Activity implements OnItemClickListener{ private String stop,line,listview_array[],buschain,dayweek,weekly; private int selected,day; p

我正在尝试将
字符串数组
listview\u数组
)转换为
int数组
,然后比较数字。不幸的是,每次我执行应用程序时,它都会崩溃

代码如下:

public class FindStop3 extends Activity implements OnItemClickListener{
    private String stop,line,listview_array[],buschain,dayweek,weekly;
    private int selected,day;   
    private TextView tvLine,tvToday,tvNext;
    private ListView lv;    
    String currentdate = java.text.DateFormat.getDateInstance().format(Calendar.getInstance().getTime());//Get current time
    String currenttime = java.text.DateFormat.getTimeInstance().format(Calendar.getInstance().getTime());//Get current time
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_find_stop3);
        FindStop3.this.overridePendingTransition(android.R.anim.slide_in_left, android.R.anim.slide_out_right);//Lateral transition

        Intent intent = getIntent();//Take data from last activity
        Bundle bundle = intent.getExtras();
        line=bundle.getString("Line");//Takes the previous selected line from the last activity
        stop=bundle.getString("Stop");//Takes the previous selected stop from the last activity
        setTitle("Selected stop: "+stop);//Modifies title

        getDayOfWeek();//Gets day of week
        getBusChain(line,stop,weekly);//Calls method to get the xml chain name        

        tvLine = (TextView) findViewById(R.id.tvLine);
        tvLine.setText("Line from "+line);

        tvNext = (TextView) findViewById(R.id.tvNext);
        tvNext.setText("Next bus arrives at "+currenttime);


        tvToday = (TextView) findViewById(R.id.tvToday);
        tvToday.setText(dayweek+","+currentdate+" schedule:");          

        selected= getResources().getIdentifier(buschain, "array",
                this.getPackageName());//Lets me use a variable as stringArray

        listview_array = getResources().getStringArray(selected);

        lv = (ListView) findViewById(R.id.lvSchedule);
        lv.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, listview_array));


        getNextBus();


    }
public类FindStop3扩展活动实现McClickListener{
私有字符串停止、行、listview_数组[]、总线链、dayweek、weekly;
选择私人整数,天;
私有文本视图tvLine、tvToday、TVTnext;
私有ListView lv;
字符串currentdate=java.text.DateFormat.getDateInstance().format(Calendar.getInstance().getTime());//获取当前时间
字符串currenttime=java.text.DateFormat.getTimeInstance().format(Calendar.getInstance().getTime());//获取当前时间
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u find\u stop3);
FindStop3.this.overridePendingTransition(android.R.anim.slide\u in\u left,android.R.anim.slide\u out\u right);//横向转换
Intent Intent=getIntent();//从上一个活动获取数据
Bundle=intent.getExtras();
line=bundle.getString(“line”);//从上一个活动中选择上一行
stop=bundle.getString(“stop”);//从上一个活动中选择上一个停止
setTitle(“选定的停止:“+stop);//修改标题
getDayOfWeek();//获取星期几
getBusChain(line,stop,weekly);//调用方法以获取xml链名称
tvLine=(TextView)findViewById(R.id.tvLine);
tvLine.setText(“从“+行开始的行”);
tvNext=(TextView)findViewById(R.id.tvNext);
tvNext.setText(“下一班车在”+当前时间到达”);
tvToday=(TextView)findViewById(R.id.tvToday);
tvToday.setText(dayweek+,“+currentdate+”时间表:);
selected=getResources().getIdentifier(总线链,“数组”,
this.getPackageName());//允许我将变量用作stringArray
listview_array=getResources().getStringArray(选中);
lv=(ListView)findViewById(R.id.lvSchedule);
lv.setAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,listview_数组));
getNextBus();
}
下面是转换它的方法:

public void getNextBus () {
        //Converts listview_array into an integer array

         int myar[]=new int[listview_array.length];

                  for(int i=0;i<listview_array.length;i++){

                      myar[i]=Integer.parseInt(listview_array[i]);



            }
public void getNextBus(){
//将listview_数组转换为整数数组
int myar[]=新的int[listview_array.length];

对于(int i=0;i我认为您的问题是当您尝试转换值时,因为像“05:40”这样的值无法转换为int

很可能,你会有一个数字形式的感觉


如果您想要更好的答案,请发送应用程序的日志。

日志说明了什么?您是否将“05:40”或“05”和“40”传递给INTEGER.parseInt?传递“05:40”将不起作用。谢谢。这非常有帮助,我可以解决问题!
<string-array name="Schedule">
        <item>05:40</item>
        <item>06:00</item>
        <item>06:16</item>
        <item>06:28</item>
        <item>06:40</item>
        <item>07:16</item>
        <item>07:29</item> 
        <item>07:43</item>
        <item>07:55</item>
        <item>08:07</item>
        <item>08:22</item>       
    </string-array>