JAVA几个题目求大神解决

发布网友 发布时间:2024-09-27 04:44

我来回答

4个回答

热心网友 时间:2024-10-20 15:07

1 题目要求不让用直接完成的api 我不知道如果先把string换成float型的 然后再把float换成int的可以么
2str.split(ch+“”);返回的是个数组,如果为空说明字符串里面没有这个字符,如果不为空得到第一个元素的长度+1就是序号追问强制转换这类的肯定是可以的。

追答int dd = Float.valueOf(str).intValue(); 那这样的就行了

热心网友 时间:2024-10-20 15:07

给你个思路吧,先把String转换成一个字符数组,然后循环遍历,对每一个都与0-9进行比对得到该位的数字,然后用这个数字乘以10的对应倍数,最后相加即可。

既然是已经排序好的,你可以使用从中间拆分来查找,比直接遍历效率高。

热心网友 时间:2024-10-20 15:08

这张图片的结果是用你的代码运行出来的

这张是修改代码后的结果,如果符合你的要求,望采纳~

希望能解决您的问题。

热心网友 时间:2024-10-20 15:08

1、这个要求= =,字符串也是可以加减的,这不算直接函数吧.不行的话还可以试试字符串解析。
public int myAtoi(String str) {

if (str == null || str.equals(""))
throw new IllegalArgumentException("参数不能为null或空串!");

int result = 0;
for (int i = 0, len = str.length(); i < len; i++) {
char c = str.charAt(i);
if (c >= '0' && c <= '9') {
result = result * 10 + (int) (c - '0');
} else {
throw new IllegalArgumentException("s中只能包含数字");
}
}

return result;
}
2、
public int mySearch(String str,char ch) {

if (str == null || str.equals(""))
throw new IllegalArgumentException("参数不能为null或空串!");

for (int s = 0; str < str.length(); i ++) {
char c = str.charAt(i);
if (c.equals(ch)) {
return i;

}
if (i == str.length - 1) {
return -1;

}

}

}

两个代码都没有测试过,不过大致思路就是这样子。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com