您好,登錄后才能下訂單哦!
小編給大家分享一下Java提示缺少返回語句怎么辦,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
Java提示缺少返回值語句怎么辦?這里我們給大家提供具體的解決方法。
首先,以下面的程序為例,會看到在控制臺有:錯誤:缺少返回語句的提示。
找到類中定義的方法test中發現,明明已經定義了return,軟件依然會提示錯誤。
將return定義到for循環之外,就會發現,程序不再報錯。
原因是因為數組不僅僅可以存放具體的變量值,而且可以不賦給數組任何值。
在數組內容為空的情況,程序是沒有報錯的,所以需要將return返回值定義到 for 循環之外即可。
關于Java中return缺少返回語句的解決方法總結如下:
Java 編譯錯誤:缺少返回語句
import java.util.*; import java.io.*; public class tt { public static void main(String[] args) { foo(); } public static String foo() { int i=0; while(i<10) { return "ggg"; } } }
該函數編譯便會報錯:缺少返回語句。盡管看起來(i<10)是肯定為真的,但是編譯器不會把i=0帶進去算,所以它覺得foo函數有可能無返回值(即while后條件為假的時候)。
同理,把while改成if,編譯報同樣的錯誤。
把while(i<10)改為while(true)后,不再報錯。
但是C就隨意得多,跟Java比起來以下如此不確定的代碼也能正常編譯運行:
#include <stdlib.h> #include <stdio.h> int main() { int a=foo(); printf("%d\n",a); return 0; } int foo() { int i=0; while(i++<10) { if(i>5) return 5; else return 4; } }
再舉個java例子:
這么寫會提示缺少返回語句,
public static boolean has3(int[] a) { for(int i=0; i<a.length; ++i) { if (a[i]==3) return true; else return false; } }
稍稍改動一下即可:
import java.util.*; import java.io.*; public class has { public static void main(String[] args) { int[] b = {1,2,3,4,5}; int[] c = {1,2,4,5}; System.out.println(has3(b)); System.out.println(has3(c)); } public static boolean has3(int[] a) { for(int i=0; i<a.length; ++i) { if (a[i]==3) return true; } return false; } }
看完了這篇文章,相信你對Java提示缺少返回語句怎么辦有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。