Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过方法发送值_Java_Methods - Fatal编程技术网

Java 如何通过方法发送值

Java 如何通过方法发送值,java,methods,Java,Methods,作为一个问题的一部分,我试图通过一些方法发送一个值,这让我感到困惑 编写以下方法:computeDiameter:此方法接受圆的半径(r),并返回圆的直径(2*r) 这是在“通过不同的方法传递值”下,所以不要问我一个简单的变量/公式,比如 double r; double diameter = r*2; //along with Scanner and some System out prints 它要求我通过另一个方法发送r的值,然后返回该方法并打印出r的新值。这就是我目前所拥有的 impo

作为一个问题的一部分,我试图通过一些方法发送一个值,这让我感到困惑

编写以下方法:computeDiameter:此方法接受圆的半径(r),并返回圆的直径(2*r)

这是在“通过不同的方法传递值”下,所以不要问我一个简单的变量/公式,比如

double r;
double diameter = r*2; //along with Scanner and some System out prints
它要求我通过另一个方法发送r的值,然后返回该方法并打印出r的新值。这就是我目前所拥有的

import java.util.*; 
public class UserSquares
{
 public static void main(String[] args)
  {
    int r = 2;
    int result=0; //I set result=0 hoping to initialize it properly. 
    computeDiameter(r);
    System.out.println(result);     
 }
public static int computeDiameter(int r)
  {
    int result = r * 2;
    return result;
  }
}
这个问题似乎很简单,这就是为什么我试图解决它。我知道通过方法发送值的基本知识,但不知道如何返回值。我真的没有钱买真正的教科书(所以我满足于提问和诸如此类的问题),youtube视频根本帮不上忙,所以当我真的被难倒时,我喜欢去论坛寻求帮助,但想继续其他话题

(这个问题是java自测的一部分,我想我应该分享一下,因为我在这个网站上问了很多问题,每次有人以否定的方式回答我,好像我想让你们帮我完成家庭作业。我没有参加任何java课程,这些问题只是自我测试我的技能,所以当我这样做的时候高中毕业后主修java编程,我可以对它有很好的理解。再说一次,这不是为了测试,我欢迎所有类型的解释,只要它是初学者java学生理解的领域。请提前感谢)

编辑:谢谢各位。在我提交这篇文章之后,我马上又做了一些工作,找到了一个解决方案,我将与大家分享

新代码

import java.util.*; 
 public class UserSquares
 {
  public static void main(String[] args)
   {
     int total, r = 2;
     total = computeDiameter(r);
     System.out.println(total);     
  }
 public static int computeDiameter(int value1)
   {
     int result;
     result = value1 * 2;
     return result;
   }
 }
编辑#2:天哪,我没想到这么快就收到这么多解决方案。我正要自己回答,这样看起来就可以完成了。很抱歉浪费了你们的时间,伙计们,我会阅读每一个,看看你们提供的不同解决方案,并学习它们,这样你们的时间就不会完全浪费。非常感谢

编辑#3:在我的第一段代码中还有一行多余的代码,在编译过程中我忘了取出,这不会影响结果,但还是决定取出。谢谢CodeMatrix!

非常简单:

int result = computeDiameter(r);
或者只是

System.out.println(coputeDiameter(r));
很简单:

int result = computeDiameter(r);
或者只是

System.out.println(coputeDiameter(r));

必须将computeDiameter(r)方法返回的值指定给结果变量才能打印该值

result = computeDiameter(r);
System.out.println(result);

必须将computeDiameter(r)方法返回的值指定给结果变量才能打印该值

result = computeDiameter(r);
System.out.println(result);

正如我在评论部分所说的

继续,改变这个

int result = 0;
computeDiameter(r);
System.out.println(result);
对此

int result = 0; //or you use int result = computeDiameter(r);
result = computeDiameter(r); 
System.out.println(result);

正如我在评论部分所说的

继续,改变这个

int result = 0;
computeDiameter(r);
System.out.println(result);
对此

int result = 0; //or you use int result = computeDiameter(r);
result = computeDiameter(r); 
System.out.println(result);

只需将行
computeDiameter(r)
编辑为
result=computeDiameter(r)
即可解决此问题。因为如果只在方法结果中命名返回值,您在主方法中声明的结果将永远不知道该方法会产生什么结果。
computeDiameter()中的
result
method是一个局部变量。因此它在方法外部不可见。在
main
方法中的
result
是另一个局部变量,仅在
main
方法中可见。如上所述,您将0指定给
result
。这可以对其进行初始化。但您希望随后更改
result到方法的返回值。因此,
result=…
将为变量分配一个新值,在您的情况下,它是
computeDiameter
的返回值。只需拥有
computeDiameter(r)
自己进行计算,但随后什么也不做。这就是为什么你将其分配给
结果
。CodeMatrix-是的,在输入不同的值之后,我明白了这一点。当我发现自己做错了什么时,它像一堆砖头一样击中了我。Pieter-我认为返回结果将替换t中的变量值主要的方法是打印出来。男孩是我错了,我意识到了这一点,就像敲打孔一样。只需编辑行
computeDiameter(r)
result=computeDiameter(r)
这将解决它。因为如果您只在方法结果中命名返回值,那么您在主方法中声明的结果将永远不会知道该方法会产生什么结果。
computeDiameter()中的
result
method是一个局部变量。因此它在方法外部不可见。在
main
方法中的
result
是另一个局部变量,仅在
main
方法中可见。如上所述,您将0指定给
result
。这可以对其进行初始化。但您希望随后更改
result到方法的返回值。因此,
result=…
将为变量分配一个新值,在您的情况下,它是
computeDiameter
的返回值。只需拥有
computeDiameter(r)
自己进行计算,但随后什么也不做。这就是为什么你将其分配给
结果
。CodeMatrix-是的,在输入不同的值之后,我明白了这一点。当我发现自己做错了什么时,它像一堆砖头一样击中了我。Pieter-我认为返回结果将替换t中的变量值他用了一种主要的方法把它打印出来。男孩,我错了,我意识到这一点就像击出重拳一样。