Tag: 返回

返回If语句内部和外部

这可能是一个相当容易回答的问题,但它一直困扰着我。 如果在if语句中有一个return语句,在一个方法内(在Java语言中),但我在最后添加另一个作为一个全能并且为了避免错误,两个返回值都将在其他如果if语句是真的吗? 一个例子: public int getNumber() { if( 5 > number) { return 5; } return 0; } 结果:方法返回5,然后通过堆栈逻辑,此后不久返回0。 或者,我是否需要使用外部变量,如下所示: int num = 1; public int getNumber() { if( 5 > number) { num = 5; } return num; } 结果:方法将变量num更改为5,然后返回num以供使用。 我想在这种情况下,根据变量的用法,不一定需要return语句。 提前致谢。

从Java方法返回多个变量

抱歉愚蠢的问题……任何人都可以帮我从方法中返回两个变量(我在这里阅读并尝试重新编码,但没有结果)。 public class FileQualityChecker { EnviroVars vars = new EnviroVars(); public int n = 0; public int z = 0; public int m = 0; String stringStatus; public void stringLenghtCheck(String pathToCheckedFile) { try{ FileInputStream fstream = new FileInputStream(pathToCheckedFile+”\\”+”Test.dat”); // Get the object of DataInputStream DataInputStream in = new DataInputStream(fstream); BufferedReader br = new BufferedReader(new InputStreamReader(in)); […]

返回arraylist的const引用

我真的很佩服javafunction,我不想放弃使用它来解决下一个问题: 我有一个可能被inheritance的类,并且它内部是一个private ArrayList arr; 所以setter函数没问题,但是getter函数return arr; 返回对该变量的引用,任何人都能够编辑我不想要的整个数组,私有没有任何意义! 在C ++中,我只return const arr; 它会返回对变量的常量引用。 我非常需要变量不被克隆或手动复制,因为有太多的计算需要(只读变量)为什么在java中没有返回const? 有什么方法可以逃避复制吗? ps (final ArrayList arr;)不是一个选项,因为该数组总是更改大小或元素值。 如果我找不到解决方法,我威胁要回到C ++或公开一切,你永远不应该得到我的软件:D 编辑:一个更重要的问题:我是否要求一些不好的东西(软件工程明智)我的意思是如果JAVA创建者认为没有const引用(返回只读引用)那么我必须要求可以在其他地方处理的东西办法。 或者我的程序设计错了我很困惑。

具有多个出口点的代码片段中的Cyclomatic Complexity

我有这个validation密码的方法: /** * Checks if the given password is valid. * * @param password The password to validate. * @return {@code true} if the password is valid, {@code false} otherwise. */ public static boolean validatePassword(String password) { int len = password.length(); if (len 20) return false; boolean hasLetters = false; boolean hasDigits = false; for […]

尝试和最后给出没有return语句的exception,但是当在方法中写入return语句时没有exception

请解释为什么Exception出现在第一个程序中而不是出现在第二个程序中。 1)读取方法中没有return语句 class Example { public static void read() { try { int i = 9/0; } finally { System.out.println(“This proogram is giving exception”); } } public static void main(String[] fel) { read(); } } 2)在read方法中使用return语句 class Example { public static void read() { try { int i = 9/0; } finally { System.out.println(“This proogram […]

缺少返回声明制作三角形程序

public String displayType(int side1, int side2,int side3) { if(( side1+side2 > side3)) if(( side1==side2) && (side2==side3))//tell if equalateral { return (“Equalateral Triangle.”); } else if (( side1==side2) & (side2 != side3) || (side1 == side3) & (side3 != side1))//tells if isosceles { return (“Isosceles Triangle.”); } else if ((side1 != side2) & (side2 != side3))//tells […]

为什么我在编译时在java程序中遇到“无法找到符号”错误?

我试图在我的代码结束时返回我的布尔变量localFound的值但是当我编译时,我得到一个错误,说它无法找到符号。 我知道这是一个处理变量范围的错误,但我不知道如何解决它。 如何让我的程序返回正确的值? 谢谢。 public static boolean addIfNotEmpty(DvdTreeNode root, String movieToCommand) { if (root == null) { return false; } addIfNotEmpty(root.getRight(), movieToCommand); if (root.getItem().getTitle().equalsIgnoreCase(movieToCommand)) { root.getItem().addCopy(); System.out.println(“You have added another copy of \”” + movieToCommand + “\” to the inventory.”); boolean localFound; localFound = true; } addIfNotEmpty(root.getLeft(), movieToCommand); return localFound; } // end addIfNotEmpty

Java字符串返回null

我试图让一个类从另一个类返回一个字符串,虽然我得到的返回值为null。 我有一个set方法,可以在原始类中设置字符串,但是当我在第二个类中调用该方法时,我得到一个返回null。 这是第一堂课; public class IceCream { // instance variables – replace the example below with your own private String flavour; public static double price; /** * Constructor for objects of class IceCream */ public IceCream() { // initialise instance variables String flavour = getFlavour(); price = 0.50; } /** * Gets price in pence. […]

从Java的processbuilder执行的ffmpeg不会在Windows 7下返回

我试图建立一个调用ffmpeg二进制文件的ProcessBuilder。 我的问题是调用它,它在MacOs,Ubuntu和WindowsXp下完美返回,但在Windows7下,waitFor()永远不会返回。 在Windows 7下有没有类似的经验? 任何帮助,将不胜感激! 我的命令: ProcessBuilder pb = new ProcessBuilder( ); pb.command( “C:\\Windows\\System32\\cmd.exe”, “/c”, “c:\\ffmpeg\\bin\\ffmpeg.exe”, “-version” ); 试过这些: pb.command( “c:\\ffmpeg\\bin\\ffmpeg.exe”, “-version” ); pb.command( “C:\\Windows\\System32\\cmd.exe”, “/c”, “start c:\\ffmpeg\\bin\\ffmpeg.exe -version” ); 结果是一样的。 🙁

从方法创建和返回数组

我目前有一个方法,检查3×3网格中的中心项目周围的内容,如果8个相邻位置中的内容包含我正在检查的内容我想在长度为7的数组上标记该方块为1。 要做到这一点,我需要在我的方法中创建并返回一个数组,是否可以这样做?