哪位大佬有java题目合集(包括答案)
目前萌新正在学java,但又想实践复习一下题目,在网上找到题目要么太简单,要么太难,有哪位大佬有那种java从简单到困难的过渡题目合集,希望能发给我一份,谢谢。从简到难,...
目前萌新正在学java,但又想实践复习一下题目,在网上找到题目要么太简单,要么太难,有哪位大佬有那种java从简单到困难的过渡题目合集,希望能发给我一份,谢谢。从简到难,可以是java教程里附带的题目,但希望能附带示例代码。
展开
2个回答
展开全部
public class StateTest {
public static double getYIf(double t) {
if (t > 7) {
return t - 1;
} else if (t >= 5) {
return t + 1;
} else if (t >= 3) {
return t * t - t * Math.sin(t);
} else if (t >= 1) {
return t * t - 2 * t - 2;
} else if (t >= 0) {
return t * t - 1;
}
return t - 1;
}
public static double getYSwitch(double t) {
double arr[] = { 0, 1, 3, 5, 7 };
int index = -1;
for (int i = arr.length - 1; i > 0; i--) {
if (t < arr[i] && t >= arr[i - 1]) {
index = i;
break;
}
}
double result = t - 1;
switch (index) {
case 1:
result = t * t - 1;
break;
case 2:
result = t * t - 2 * t - 2;
break;
case 3:
result = t * t - t * Math.sin(t);
break;
case 4:
result = t + 1;
break;
default:
break;
}
return result;
}
public static void main(String[] args) {
System.out.println(getYIf(8));
System.out.println(getYSwitch(8));
System.out.println(getYIf(6));
System.out.println(getYSwitch(6));
System.out.println(getYIf(5));
System.out.println(getYSwitch(5));
System.out.println(getYIf(3));
System.out.println(getYSwitch(3));
System.out.println(getYIf(-1));
System.out.println(getYSwitch(-1));
}
}
输出:
7.0
7.0
7.0
7.0
6.0
6.0
8.576639975820399
8.576639975820399
-2.0
-2.0
这道题主要的难点在于通过数组的查找获取到t所在的区间位置,获取到区间位置之后就可以根据不同的区间计算最终的y的值。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询