数字字符串转换成浮点型数组(菜鸟级别)

本文介绍了一个Java程序,该程序能将包含多个由逗号或空格分隔的数字的字符串转换为浮点数数组。通过解析输入的字符串,程序能够准确地识别并转换其中的每一个数字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


给班上做一个计算不确定度的计算器时要用的一个部件,起了很大作用。
开源精神万岁!
package one;
import java.util.ArrayList;
import java.util.List;
//构造器
public class Portal {
public Portal() {
float[] numbers = getnumbers("3 ,,4.34 65 7.875 6.539 8");
for (int i = 0; i < numbers.length; i++) {
System.out.println("得到的数字:" + numbers[i]);
}
}
//程序入口
public static void main(String args[]) {
Portal self = new Portal();
}

/**
* 传进去一个数字组成的字符串,经解析返回一个浮点型数组
* 这个字符串的每个数字直间用逗号或者空格隔开
* @param String s
* @return float[]
*/
public float[] getnumbers(String s) {
s = "," + s + ",";
byte[] sb = s.getBytes();
List<Integer> commalist = new ArrayList();
// 得到逗号队列
for (int i = 0; i < sb.length; i++) {
if (sb[i] == 44 || sb[i] == 32) {
commalist.add(i);
}
}

float[] nums = new float[commalist.size() - 1];
for (int i = 0; i < commalist.size() - 1; i++) {
// 取得逗号的上一个与下一个在数组中的位置
int n = commalist.get(i);
int m = commalist.get(i + 1);
if((m-n)==1){
continue;
}
// 要拼接的字符串
String p = new String();
for (int j = 0; j < (m - n - 1); j++) {
byte tem = sb[n + j + 1];
// 将asic码转换成字符串,强制转型就行
char c = (char) tem;
p = p + c;
}
// 将拼接成的字符串转换成浮点型,然后装入数组
float temf = Float.parseFloat(p);
nums[i] = temf;
}
return nums;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值