如何将ArrayList转化为float或者int类型

时间:2021-06-13 19:36:07
如题,刚开始接触编程,自己写了一段代码
ArrayList<Resnocapdata> listResnocapdataMaxDiamterResults=new ArrayList<Resnocapdata>();
   for(int i=0;i< listResnocapdataMaxDiamter.size();i++){
   if(null!=sizelongimput&&null!=listResnocapdataMaxDiamter.get(i).getResnocapvalue()){

   Float longimputFloat = Float.parseFloat(sizelongimput);
   int IntResnocapdataMaxDiamter = Integer(listResnocapdataMaxDiamter.get(i).getResnocapvalue());
 
 
   if(longimputFloat < IntResnocapdataMaxDiamter){
   listResnocapdataMaxDiamterResults.add((Resnocapdata) listResnocapdataMaxDiamter.get(i));
   }
   }   
   }

其中标红的那段listResnocapdataMaxDiamter.get(i).getResnocapvalue()里面的值如下
20
25
20
20
25
20
25
25
14
20
14
14
14
20
20
20
M10?.5;M24?
M10?.5;M24?
M16?;M24?5
M10?.5;M24?
M10?.5;M24?
M16?;M24?5
M16?;M24?5
M16?;M24?5
φ400
φ800
φ800
100
125
125
340
340
410
200
410
410
null
null
215
175
215

也就是说,有数字类型的string,也有不是数字类型的,我想筛选出不是数字的,然后转化为int或者float
然后与longimputFloat比较大小。

求指点。新人没多少分~谢谢了

14 个解决方案

#1


说错了,筛选出数字类型的,然后比较大小 如何将ArrayList转化为float或者int类型

#2


我想筛选出 不是数字的,然后 转化为int或者float???

#3


引用 2 楼 qnmdcsdn 的回复:
我想筛选出 不是数字的,然后 转化为int或者float???


如何将ArrayList转化为float或者int类型说反了,,,是数字的

#4


你刚开始学代码,怎么你的需求我都听不懂 如何将ArrayList转化为float或者int类型
list筛选数字,然后比大小,跟谁比 啊
比完了那,是存在另外一个地方啊,还是怎么回事啊 如何将ArrayList转化为float或者int类型

#5


我觉的你现在需要去学一下语文,不是学代码,你着急了 如何将ArrayList转化为float或者int类型

#6


循环,正则判断每一个值 如何将ArrayList转化为float或者int类型

#7


引用 5 楼 ch1240249252 的回复:
我觉的你现在需要去学一下语文,不是学代码,你着急了 如何将ArrayList转化为float或者int类型


现在的需求是,把上面的list里面的数字类型的值,跟longimputFloat 比较,longimputFloat 是输入的一个数字,然后比longimputFloat 大的存起来,存到listResnocapdataMaxDiamterResults这个list里面。
囧,我好像是太着急了,自己没有学好。

不知道这样描述可以不

#8


引用 6 楼 qnmdcsdn 的回复:
循环,正则判断每一个值 如何将ArrayList转化为float或者int类型


能不能随手写一行代码~给我参考一下,谢谢了

#9


我还有一个问题 
 if(longimputFloat < IntResnocapdataMaxDiamter)
这句话是你输入一个值,然后跟一个list比较?
不是循环list跟每一个比较?
是需要比list里面所有数字的值都大的话才存储起来吗? 如何将ArrayList转化为float或者int类型

#10


引用 9 楼 ch1240249252 的回复:
我还有一个问题 
 if(longimputFloat < IntResnocapdataMaxDiamter)
这句话是你输入一个值,然后跟一个list比较?
不是循环list跟每一个比较?
是需要比list里面所有数字的值都大的话才存储起来吗? 如何将ArrayList转化为float或者int类型

对的,longimputFloat是一个输入值,然后list里面有很多值,比longimputFloat大的都筛选出来。。。然后存储

#11



public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("1");
list.add("a");
list.add("2");
list.add("b");
for (String s : list) {
if(s.matches("^[0-9]*$"))//数字类型
System.out.println(s);
}
}

#12


string类型的(比如“123”)可以先转成包装类,然后再转成基本数据类型。之后就可以比较大小了。 如何将ArrayList转化为float或者int类型

#13


package bros.provider.corporate.account;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class cs {
// System.out.println(UUID.randomUUID().toString());
public static void main(String[] args){
        try {  
            BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));  
            System.out.print("请输入一串数字:");  
            String str = strin.readLine();  
            System.out.println("第一个:"+str); //获取到了键盘的输入字符为多少
            List list= new ArrayList();
            list.add("dheh");
            list.add(1314);
            list.add(520);
            list.add(750);
            list.add(830);
            list.add(12);
            list.add(52);
            list.add(520);
            list.add(null);
            list.add("dheh");
            list.add("dheh");
            String s = "[0-9]*";
            Pattern pattern = Pattern.compile(s);
            List listload= new ArrayList();
            Matcher ma = pattern.matcher(list.toString());
            while (ma.find()) {
             if(ma.group().length()>0&&Integer.parseInt(ma.group())>Integer.parseInt(str)){
             System.out.println("大于输入的有:"+ma.group());
             listload.add(ma.group());
             }
            }
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
}


}

我写了一个简单的例子 你参考一下 如何将ArrayList转化为float或者int类型
如果思路不对你就在描述描述你的需求 如何将ArrayList转化为float或者int类型
我都已经听蒙圈了

#14


以上方法
list.add("1314");也是支持的 如何将ArrayList转化为float或者int类型

#1


说错了,筛选出数字类型的,然后比较大小 如何将ArrayList转化为float或者int类型

#2


我想筛选出 不是数字的,然后 转化为int或者float???

#3


引用 2 楼 qnmdcsdn 的回复:
我想筛选出 不是数字的,然后 转化为int或者float???


如何将ArrayList转化为float或者int类型说反了,,,是数字的

#4


你刚开始学代码,怎么你的需求我都听不懂 如何将ArrayList转化为float或者int类型
list筛选数字,然后比大小,跟谁比 啊
比完了那,是存在另外一个地方啊,还是怎么回事啊 如何将ArrayList转化为float或者int类型

#5


我觉的你现在需要去学一下语文,不是学代码,你着急了 如何将ArrayList转化为float或者int类型

#6


循环,正则判断每一个值 如何将ArrayList转化为float或者int类型

#7


引用 5 楼 ch1240249252 的回复:
我觉的你现在需要去学一下语文,不是学代码,你着急了 如何将ArrayList转化为float或者int类型


现在的需求是,把上面的list里面的数字类型的值,跟longimputFloat 比较,longimputFloat 是输入的一个数字,然后比longimputFloat 大的存起来,存到listResnocapdataMaxDiamterResults这个list里面。
囧,我好像是太着急了,自己没有学好。

不知道这样描述可以不

#8


引用 6 楼 qnmdcsdn 的回复:
循环,正则判断每一个值 如何将ArrayList转化为float或者int类型


能不能随手写一行代码~给我参考一下,谢谢了

#9


我还有一个问题 
 if(longimputFloat < IntResnocapdataMaxDiamter)
这句话是你输入一个值,然后跟一个list比较?
不是循环list跟每一个比较?
是需要比list里面所有数字的值都大的话才存储起来吗? 如何将ArrayList转化为float或者int类型

#10


引用 9 楼 ch1240249252 的回复:
我还有一个问题 
 if(longimputFloat < IntResnocapdataMaxDiamter)
这句话是你输入一个值,然后跟一个list比较?
不是循环list跟每一个比较?
是需要比list里面所有数字的值都大的话才存储起来吗? 如何将ArrayList转化为float或者int类型

对的,longimputFloat是一个输入值,然后list里面有很多值,比longimputFloat大的都筛选出来。。。然后存储

#11



public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("1");
list.add("a");
list.add("2");
list.add("b");
for (String s : list) {
if(s.matches("^[0-9]*$"))//数字类型
System.out.println(s);
}
}

#12


string类型的(比如“123”)可以先转成包装类,然后再转成基本数据类型。之后就可以比较大小了。 如何将ArrayList转化为float或者int类型

#13


package bros.provider.corporate.account;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class cs {
// System.out.println(UUID.randomUUID().toString());
public static void main(String[] args){
        try {  
            BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));  
            System.out.print("请输入一串数字:");  
            String str = strin.readLine();  
            System.out.println("第一个:"+str); //获取到了键盘的输入字符为多少
            List list= new ArrayList();
            list.add("dheh");
            list.add(1314);
            list.add(520);
            list.add(750);
            list.add(830);
            list.add(12);
            list.add(52);
            list.add(520);
            list.add(null);
            list.add("dheh");
            list.add("dheh");
            String s = "[0-9]*";
            Pattern pattern = Pattern.compile(s);
            List listload= new ArrayList();
            Matcher ma = pattern.matcher(list.toString());
            while (ma.find()) {
             if(ma.group().length()>0&&Integer.parseInt(ma.group())>Integer.parseInt(str)){
             System.out.println("大于输入的有:"+ma.group());
             listload.add(ma.group());
             }
            }
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
}


}

我写了一个简单的例子 你参考一下 如何将ArrayList转化为float或者int类型
如果思路不对你就在描述描述你的需求 如何将ArrayList转化为float或者int类型
我都已经听蒙圈了

#14


以上方法
list.add("1314");也是支持的 如何将ArrayList转化为float或者int类型