这是相关的代码:
public static String[] runTeams (String CPUcolor)
{
boolean z = false ;
//String[] a = new String[6] ;
boolean CPU = false ;
while (z == false)
{
while (CPU==false)
{
String[] a = assignTeams () ;
printOrder (a) ;
for (int i = 1; i<a.length; i++)
{
if (a[i].equals(CPUcolor)) CPU = true ;
}
if (CPU==false)
{
System.out.println ("ERROR YOU NEED TO INCLUDE THE COLOR OF THE CPU IN THE TURN ORDER") ;
}
}
System.out.println ("is this …Run Code Online (Sandbox Code Playgroud) 最近我发现自己编写了许多方法,我只能想到调用脚手架.这是一个例子:
public static void printArray (String[] array, boolean bug)
{
for (int i = 0; i<array.lenght; i++)
{
if (bug) System.out.print (i) ; //this line is what i'm calling the debugging scaffolding i guess.
System.out.println(array[i]) ;
}
}
Run Code Online (Sandbox Code Playgroud)
在这种方法中,如果我将bug设置为true,无论从某种用户输入调用它,我都会得到特殊的调试文本,让我知道打印的字符串是什么索引,以防万一我需要知道为了我的调试(假装事态存在,它的帮助).
我的所有问题或多或少都归结为这个问题:这是一个好主意吗?但有点客观性:
这是测试我的方法并调试它们的有效方法吗?我的意思是在效率方面有效,而不是弄乱我的代码.
if
(bug) stuff ;在我的方法开始工作之后,将代码留在原地是否可以接受?(如果需要"可接受性"的定义来使这个问题成为目标,那么使用"不是一个关于编程争议的问题,例如if(boolean)
在它后面只用一行省略括号,尽管如果你有更好的东西继续使用你的定义我不介意)
是否有更有效的方法来完成调试比我正在做的更容易?
你知道我想要的任何东西,但我已经忘记了(尽可能多的信息被理解).
这是代码:
class Time {
public static void printTime (int hour, int minute) {
System.out.print (hour) ;
System.out.print (":") ;
System.out.print (minute) ;
}
public static void main (String[] args) {
hour = 11 ;
minute = 30 ;
printTime () ;
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试编译时,这是终端所说的:
david-allenders-macbook-pro:~ davidallender$ Javac Time.java
Time.java:9: cannot find symbol
symbol : variable hour
location: class Time
hour = 11 ;
^
Time.java:10: cannot find symbol
symbol : variable minute
location: class Time
minute = 30 ;
^ …Run Code Online (Sandbox Code Playgroud) 这是代码:
class Acount
{ int sum ; String owner ; //these seem to make sense
//a constructor or two
public Acount ()
{ this.sum = 0 ; this.owner = "John Doe" ; }
public Acount (String name)
{this.sum = 0 ; this.owner = name ; }
public Acount (String name, int sum)
{this.sum = sum ; this.owner = name ; }
//prints an acount in the format "owner" "sum"
public static void printAcount (Acount Acount)
{System.out.print (Acount.owner) ; System.out.print (" …Run Code Online (Sandbox Code Playgroud) 这是Dice类的相关部分:
import java.util.*;
class Dice
{
String name ;
int x ;
int[] sum ;
Run Code Online (Sandbox Code Playgroud)
...
public Dice (String name)
{
this.name = name ;
this.x = 0 ;
this.sum = new int[7] ;
}
Run Code Online (Sandbox Code Playgroud)
...
public void roll ()
{
this.x = randNum(1, this.sum.length) ;
this.sum[x] ++ ;
}
Run Code Online (Sandbox Code Playgroud)
我在一个名为的单独的类中调用此方法 Risk
class Risk
{
Run Code Online (Sandbox Code Playgroud)
继承人方法的第一行:
public static void IdiceRoll (Dice o)
Run Code Online (Sandbox Code Playgroud)
所以这个方法需要一个已经作为参数存在的骰子,因此不需要在其中创建一个新的骰子.
最后这里是我试图调用roll的方式o:
o.Dice.roll () ;
Run Code Online (Sandbox Code Playgroud) 在Chef Style Guide页面上出现这个Ruby表达式:
antarctica_hint = hint?('antarctica')
Run Code Online (Sandbox Code Playgroud)
究竟是什么?提示之前和之后('antarctica')是什么意思?它只是方法名称的一部分吗?(即该方法被称为'提示?'不是'提示')
在java中你可以有一个变量数组吗?
如果是的话语法是什么?
这是一个例子,如果你困惑:
varint[] ArrayOfVariablesThatAreInts = new varint[#]
Run Code Online (Sandbox Code Playgroud)
要么
var[] ArrayofVariables = new var[#]
Run Code Online (Sandbox Code Playgroud)
这是合法的吗?
这是代码:
class qual
{
public static int fibonacci(int n)
{
if (n == 0 || n == 1)
{
return 1;
}
else
{
return fibonacci(n-1) + fibonacci(n-2);
}
}
public static void main(String[] arg)
{
System.out.println(fibonacci(5));
}
}Run Code Online (Sandbox Code Playgroud)
输出是8.输出应该是8但是当我看这个时我觉得它应该是7((5-1) +(5-2)).
为什么输出8?我认为获得8后面的推理会使递归可能不再让我感到困惑.
在java中是一个字符串的方法名称?为什么或者为什么不?
所以,如果我有类似的东西:
public static int METHODNAME (some parameters or not)
{
something to do ;
}
Run Code Online (Sandbox Code Playgroud)
METHODNAME是一个字符串?
java ×8
arrays ×1
chef-infra ×1
coding-style ×1
debugging ×1
fibonacci ×1
logging ×1
methods ×1
parameters ×1
recursion ×1
ruby ×1
symbols ×1
variables ×1
while-loop ×1