您好,登錄后才能下訂單哦!
這篇文章主要講解了“怎么解決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提示缺少返回語句問題”的內容了,經過本文的學習后,相信大家對怎么解決Java提示缺少返回語句問題這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。