以下代码确实可以满足我的需求,但它很难看,过多或者其他很多东西.我已经看过公式并尝试编写一些解决方案,但我最终得到了类似数量的陈述.
在这种情况下是否有一种数学公式可以使我受益,或者如果语句可以接受,那么它是16吗?
为了解释代码,这是一种基于同步回合的游戏.两个玩家每个都有四个动作按钮,结果来自一个数组(0-3),但变量'一'和'两个'可以是如果有帮助就分配任何东西 结果是,0 =既没有胜利,1 = p1胜利,2 = p2胜利,3 =双赢.
public int fightMath(int one, int two) {
if(one == 0 && two == 0) { result = 0; }
else if(one == 0 && two == 1) { result = 0; }
else if(one == 0 && two == 2) { result = 1; }
else if(one == 0 && two == 3) { result = 2; }
else if(one == 1 && two == 0) { result = 0; …Run Code Online (Sandbox Code Playgroud) 在我的代码中,程序根据用户输入的文本执行某些操作.我的代码看起来像:
switch (name) {
case text1: {
//blah
break;
}
case text2: {
//blah
break;
}
case text3: {
//blah
break;
}
case text4: {
//blah
break;
}
Run Code Online (Sandbox Code Playgroud)
然而,案件里面的代码text1和text4是一样的.因此,我想知道是否有可能实现类似的东西
case text1||text4: {
//blah
break;
}
Run Code Online (Sandbox Code Playgroud)
我知道||运算符不会在case语句中工作,但是我可以使用类似的东西.
在我使用任何编程语言的1个月经验中,我假设switch case条件会接受括号中的任何内容作为布尔检查thingamajig,即:
|| && < >
Run Code Online (Sandbox Code Playgroud)
明白我的意思了吗?
就像是
char someChar = 'w';
switch (someChar) {
case ('W' ||'w'):
System.out.println ("W or w");
}
Run Code Online (Sandbox Code Playgroud)
可悲的是,似乎没有这样的方式.我不能在switch case中进行布尔检查.
有办法解决吗?
顺便说一句,如果我听起来很混乱,非常抱歉.我还不太清楚这种语言的所有名称:X
任何答案都赞赏
不幸的是,即使是 IntelliJ 的最新早期访问版本通常也不支持 Java 的早期访问版本。
\n例如,我尝试将Intellij 2022.1.1 Preview (Ultimate Edition)与基于早期访问Java 19的Project Loom实验版本一起使用。安装 JDK 通常适用于 IntelliJ。
\n但现在我想使用 Loom 特定的功能。当我调用这个实验性 Java 19 中的新方法时,我从编译器中收到以下错误:
\n\n\njava: newVirtualThreadPerTaskExecutor() 是预览 API,默认情况下处于禁用状态。
\n(使用 --enable-preview 启用预览 API)
\n
我的第一个想法是在文件 > 项目结构 > 项目设置 > 项目和\xe2\x80\xa6 模块面板上设置语言级别字段。但显然 IntelliJ 没有为这个早期访问 Java 19 的(预览)模式提供任何菜单项。
\n有没有办法让 IntelliJ 使用新的预览 API?
\n我知道错误消息的建议--enable-preview是在某处应用的标志。但我不知道在哪里。
首先,我想为这个奇怪的问题道歉,我对 Java 很陌生。
所以,假设我在这里有一段这样的代码:
switch(test) {
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case 68:
case 69:
case 70:
case 71:
case 72:
case 73:
case 74:
case 75:
case 76:
case 77:
case 78:
case 79:
case 80:
System.out.println("random");
}
break;
Run Code Online (Sandbox Code Playgroud)
举个例子。
有很多情况,我想知道是否有办法缩短它。我尝试使用 for 循环遍历这些数据,但我无法完全理解它。任何帮助表示赞赏。
再次,请原谅菜鸟的问题!我对Java很陌生!
提前致谢。
switch (x)
{
case A:
case B:
case C:
.doSomething()
}
有没有办法让我在一行中有3个案例?比如这样的事情
case A, B, C:?
我的Java教科书问我有关以下错误的信息:
switch (score)
{
case (score > 90):
grade = 'A';
break;
case (score > 80):
grade = 'B';
break;
default:
grade = 'C';
}
Run Code Online (Sandbox Code Playgroud)
我已经知道错误在哪里:
(score > 90); 那是if/else语句.但是,这让我疑惑:怎么可能一个switch语句有效地占到整数的范围是多少?
我能想到的最明显的例子如下,但我发现它相当蛮力:
switch (score)
{
case 90: case 91: case 92: case 94: case 95:
case 96: case 97: case 98: case 99: case 100:
grade = 'A';
break;
case 80: case 81: case 82: case 84: case 85:
case 86: case 87: case 88: case …Run Code Online (Sandbox Code Playgroud)