Java 处理语言中的自定义函数
在“处理”编程语言(java的一种形式)上做一些uni工作 所以我的问题是写一个名为TwoNumber(inta,intb)的函数,它接受两个参数a和b。如果a大于b,则将两个数字相加,并在控制台窗口中显示字符串“a和b的总和为总和”,其中a和b以及总和是a、b及其总和的值。最后,函数应返回总和。“ …所以这是我对代码的尝试,如果我把(inta,intb)放在customer函数后面,它只是说我的另一个int a=数字是重复的,这是真的,但我不确定我怎么能给a和b一个数字而不让它认为是重复的?我应该把它从一个空的设置标签中放出来吗?因为我不确定这是否会导致太多的{括号Java 处理语言中的自定义函数,java,processing,Java,Processing,在“处理”编程语言(java的一种形式)上做一些uni工作 所以我的问题是写一个名为TwoNumber(inta,intb)的函数,它接受两个参数a和b。如果a大于b,则将两个数字相加,并在控制台窗口中显示字符串“a和b的总和为总和”,其中a和b以及总和是a、b及其总和的值。最后,函数应返回总和。“ …所以这是我对代码的尝试,如果我把(inta,intb)放在customer函数后面,它只是说我的另一个int a=数字是重复的,这是真的,但我不确定我怎么能给a和b一个数字而不让它认为是重复的?我
/* Question 1 */
int twoNumbers(){
int a = 30;
int b = 20;
if (a > b) {println(a+b);}
println("The sum of a and b is sum");
int sum;
sum = a+b;
println(sum);
}
任何帮助都将非常有助于完成此问题和其他问题:)
谢谢
'编写一个名为twoNumbers(intA,intB)的函数,该函数接受两个参数a和b
这不是您的代码的外观。您的方法two number
不接受两个参数a
和b
。您的代码应该这样开始(与作业中提到的完全相同):
删除下面两行,inta=30;
和intb=20;
。这些行声明了两个名为a
和b
的局部变量。您应该使用作为参数传入的a
和b
这看起来也是错误的:
if (a > b) {println(a+b);}
println("The sum of a and b is sum");
仔细阅读作业内容:
如果a大于b,则将两个数字相加,并在控制台窗口中显示字符串“a和b的总和为总和”,其中a和b以及总和是a、b及其总和的值
这不是你的代码所做的。一步一步地做,仔细思考作业中的意思
'编写一个名为twoNumbers(intA,intB)的函数,该函数接受两个参数a和b
这不是您的代码的外观。您的方法two number
不接受两个参数a
和b
。您的代码应该这样开始(与作业中提到的完全相同):
删除下面两行,inta=30;
和intb=20;
。这些行声明了两个名为a
和b
的局部变量。您应该使用作为参数传入的a
和b
这看起来也是错误的:
if (a > b) {println(a+b);}
println("The sum of a and b is sum");
仔细阅读作业内容:
如果a大于b,则将两个数字相加,并在控制台窗口中显示字符串“a和b的总和为总和”,其中a和b以及总和是a、b及其总和的值
这不是你的代码所做的。一步一步来,仔细考虑赋值的含义。此外,你的函数没有返回值,这会给你带来错误。看起来你很困惑。要么声明它为void,要么返回声明类型的值(这是你的赋值所要求的)。无论哪种方式,都需要调用函数或方法才能执行,而您没有调用它!因此,您的函数中的代码没有运行!! 以下是:
void imAMethod()
{
println("hello");
}
它是一个有效的方法,但不起任何作用,您需要调用它,如:
imAMethod();// calling your method
void imAMethod()
{
println("hello");
}
但这也不起作用,会给您带来错误。看起来您混合了“活动”和“静态”模式。这是因为要在处理中使用函数,您需要在草图中至少有一个setup()方法,因此:
void setup()
{
imAMethod();
}//end of setup
void imAMethod()
{
println("hello");
}
将按预期工作
但您需要一个函数,因此正如Jesper所指出的,您必须执行以下操作:
int a = 30; // those are global variables to pass to your function
int b = 20;
void setup()// this is a builtin basic Processing method
{
//call your function
println("The sum of " + a + " and " + b + " is "+ twoNumbers(a, b));
}
int twoNumbers(int a, int b)
{
//do your math and tests here
return result;
}
int twoNUmbers(int a, int b)
{
if (a < b){/*print the string*/}
return a + b;
}
赋值中还有一点不清楚。函数必须返回某些内容,因此,如果A不大于b,则不清楚该函数应返回什么内容。您必须处理这种情况,否则编译器会投诉。您可能希望将此测试移出函数,以使内容更完整sier,比如:
if (a < b)
println("The sum of " + a + " and " + b + " is "+ twoNumbers(a, b));//call your function
else
println(a + " is smaller than " + b);
if(a
在函数中只需求和。但这可能不是赋值所需的…无论如何,即使a不大于b,您也需要返回一些内容。请注意,打印到控制台也可以在函数中完成
嗯,重新阅读作业a,认为预期的结果是:总是返回总和,如果a大于b,则只需打印,这更有意义且更简单,例如:
int a = 30; // those are global variables to pass to your function
int b = 20;
void setup()// this is a builtin basic Processing method
{
//call your function
println("The sum of " + a + " and " + b + " is "+ twoNumbers(a, b));
}
int twoNumbers(int a, int b)
{
//do your math and tests here
return result;
}
int twoNUmbers(int a, int b)
{
if (a < b){/*print the string*/}
return a + b;
}
int两个数字(int a,int b)
{
如果(a
请注意jlordo。在Processing.org中,您没有main,或者更好,它对用户是透明的/隐藏的。处理就像java的“方言”。因此上面的代码将按原样运行。有两个基本内置函数:setup()和draw()。如果用户不使用它们,IDE将在setup()中扭曲它函数,该函数将在其他地方调用main()。它将运行一次。Draw()将永远循环。此外,您的函数没有返回值,这将给您带来一个错误。看起来您很困惑。要么将其声明为void,要么返回声明类型的值(这是赋值所要求的最后一个值)。无论哪种方式,都需要调用函数或方法才能执行,而您没有调用它!因此,您的函数中的代码没有运行!! 以下是:
void imAMethod()
{
println("hello");
}
它是一个有效的方法,但不起任何作用,您需要调用它,如:
imAMethod();// calling your method
void imAMethod()
{
println("hello");
}
但这也不起作用,会给您带来错误。看起来您混合了“活动”和“静态”模式。这是因为在处理过程中使用函数