如何在java中表达一个数在正负百分之二十间浮动
答案:2 悬赏:30 手机版
解决时间 2021-01-25 02:44
- 提问者网友:动次大次蹦擦擦
- 2021-01-24 22:54
如何在java中表达一个数在正负百分之二十间浮动
最佳答案
- 五星知识达人网友:像个废品
- 2021-01-24 23:03
以int类型为例。10的浮动范围+-20%,那么就是8~12
-10的浮动范围+-20%,那么就是-12~-8
参考核心代码
public static int fun1(int x,double fd) {
int y = (int) (Math.random() * (x + (x >= 0 ? 1 : -1)) * fd) * (Math.random() > 0.5 ? 1 : -1);
return x + y;
}完整的代码
public class Demo {
public static void main(String[] args) {
double fd= 0.2;//浮动的范围
int x = 10;//需要浮动的数字
//int x = -10;
for (int i = 0; i < 50; i++) {//循环50次,方便查看浮动的结果
System.out.println(fun1(x,fd));//调用方法一
//System.out.println(fun2(x,fd));//调用方法二
}
}
//方法一:写法比较简洁,不太好理解
public static int fun1(int x,double fd) {
int y = (int) (Math.random() * (x + (x >= 0 ? 1 : -1)) * fd) * (Math.random() > 0.5 ? 1 : -1);
return x + y;
}
//方法二:写法比较啰嗦,但是好理解
public static int fun2(int x,double fd){
int y;
int num;
if(x>=0){
y = (int)(Math.random()*(x+1)*fd);
}else{
y = (int)(Math.random()*(x-1)*fd);
}
double z = Math.random();
if(z>0.5){
num = x+y;
}else{
num = x-y;
}
return num;
}
}运行输出
浮动后的值是:11
浮动后的值是:10
浮动后的值是:12
浮动后的值是:10
浮动后的值是:10
浮动后的值是:8
....
-10的浮动范围+-20%,那么就是-12~-8
参考核心代码
public static int fun1(int x,double fd) {
int y = (int) (Math.random() * (x + (x >= 0 ? 1 : -1)) * fd) * (Math.random() > 0.5 ? 1 : -1);
return x + y;
}完整的代码
public class Demo {
public static void main(String[] args) {
double fd= 0.2;//浮动的范围
int x = 10;//需要浮动的数字
//int x = -10;
for (int i = 0; i < 50; i++) {//循环50次,方便查看浮动的结果
System.out.println(fun1(x,fd));//调用方法一
//System.out.println(fun2(x,fd));//调用方法二
}
}
//方法一:写法比较简洁,不太好理解
public static int fun1(int x,double fd) {
int y = (int) (Math.random() * (x + (x >= 0 ? 1 : -1)) * fd) * (Math.random() > 0.5 ? 1 : -1);
return x + y;
}
//方法二:写法比较啰嗦,但是好理解
public static int fun2(int x,double fd){
int y;
int num;
if(x>=0){
y = (int)(Math.random()*(x+1)*fd);
}else{
y = (int)(Math.random()*(x-1)*fd);
}
double z = Math.random();
if(z>0.5){
num = x+y;
}else{
num = x-y;
}
return num;
}
}运行输出
浮动后的值是:11
浮动后的值是:10
浮动后的值是:12
浮动后的值是:10
浮动后的值是:10
浮动后的值是:8
....
全部回答
- 1楼网友:妄饮晩冬酒
- 2021-01-25 00:06
import java.util.Scanner;import java.lang.System;public class MyMain { public static void main(String[] args) { int positive1=0;//正数 positive number 负数 Negative int Negative1=0;//正数 positive number 负数 Negative int zero1.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯