比如46853,中间值是6怎么求?
是javascript
java5个数要求他的中间值比如12345 要求3
答案:4 悬赏:10
解决时间 2021-04-28 06:48
- 提问者网友:他是我的あ男人
- 2021-04-28 01:13
最佳答案
- 二级知识专家网友:桃花别处起长歌
- 2021-04-28 01:29
import java.util.Arrays;<br>import java.util.Scanner;<br><br>public class Test {<br> public static void main(String[] args) {<br>//当做字符串来或许,这样以后比较好处理(我暂时只知道用charAt来处理) <br>String str1 = new Scanner(System.in).next();<br> char[] nums = new char[5];<br>//将它拆分为数组<br> for (int i = 0; i < nums.length; i++) {<br> nums[i] = str1.charAt(i);<br> }<br>//对数组进行排序<br> Arrays.sort(nums);<br>//如楼上所说,取中间位置,最后java不是JavaScript<br> System.out.println(nums[nums.length / 2 + 1]);<br> }<br>} <br><br>改了下,JavaScript可以了<br><script><br> var num = "46853";<br> //alert(num.length);<br> var len = num.length;<br> var nums = new Array();<br> var temp;<br> for(var i = 0 ;i <len ; i++)<br> {<br> nums[i] = num.charAt(i);<br> }<br> for(j=0;j<len;j++)<br> {<br> for(k=0;k<len-1;k++)<br> {<br> if(nums[k]>nums[k+1])<br> {<br> temp = nums[k];<br> nums[k] = nums[k+1];<br> nums[k+1] = temp;<br> }<br> }<br> }<br> alert(nums[Math.round(len/2)]);<br></script>
全部回答
- 1楼网友:承载所有颓废
- 2021-04-28 03:18
我不会写javascript
提供一个思路,先排序,怎么排都成,然后取(N+1)/2的那个位置上的数的值
- 2楼网友:一只傻青衣
- 2021-04-28 03:02
var str = "12345";
var charStr = str.charAt(str.length / 2);
就行了哈
charStr这个就是你要的哈。
- 3楼网友:随心随缘不随便
- 2021-04-28 01:44
你好!
var str = "12345";
var charStr = str.charAt(str.length / 2);
就行了哈
charStr这个就是你要的哈。
希望对你有所帮助,望采纳。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息