Dieser Artikel führt Sie hauptsächlich in die relevanten Informationen zur Verwendung des Java-Ausnahmemechanismus zum Implementieren eines simulierten Buchleihsystems ein. Der Artikel stellt zunächst kurz den Java-Ausnahmemechanismus vor und stellt dann vor, wie eine Konsolenversion in der Java-Sprache implementiert wird Beispielcode. Freunde, die ihn benötigen, können sich das simulierte Buchleihsystem ansehen.
In diesem Artikel wird die Verwendung der Java-Sprache zur Implementierung einer Konsolenversion eines simulierten Buchleihsystems vorgestellt. Bevor wir mit dem formalen Inhalt dieses Artikels beginnen, wollen wir zunächst den Java-Ausnahmemechanismus verstehen.
Was ist eine Ausnahme?
Abnormal, nicht normal. „Exception“ ist die Abkürzung für „Exception Event“. Eine Ausnahme ist also ein Ereignis, das auftritt, wenn das Programm ausgeführt wird.
Ausnahmen beeinträchtigen die Kontinuität des Programms und unterbrechen es. In Java ist alles Objekt, daher müssen Sie zum Definieren von Ausnahmen auch Objekte verwenden. Das Ausnahmeobjekt
kapselt den Ausnahmetyp und den Status , wenn eine Ausnahme im Programm auftritt.
Was wir oft sagen wirft eine Ausnahme aus ist, ein Ausnahmeobjekt zu erstellen und es an das laufende System zu senden.
Ausnahmeabfangmechanismus und Try-Catch
Wenn eine Ausnahme auftritt, müssen wir wissen, wo die Ausnahme aufgetreten ist und wie wir sie finden können Ausnahme Wo ist die Quelle?
In Java wird der Aufrufstapel verwendet, um die Reihenfolge von Methodenaufrufen aufzuzeichnen. Wenn in einem Java-Programm eine Ausnahme auftritt, durchsucht es den Aufrufstapel in der Hoffnung, einen bestimmten
Codeblock zu finden, der diese Ausnahme behandelt. Genau wie wenn wir krank sind (Ausnahme), gehen wir ins Krankenhaus, um einen Arzt für ein bestimmtes Fachgebiet aufzusuchen. In der folgenden Abbildung ruft beispielsweise die main-Methode
Methode0 auf, und Methode0 ruft Methode1 auf die gleiche Weise auf und so weiter.
Verwenden Sie in Java Ausnahmebehandlung die Try-Catch-Anweisung. Die Syntax lautet:
try { // 可能出现异常的代码 } catch (ExceptionType name) { // 异常处理代码 } catch (ExceptionType name) { // 异常处理代码 }
Okay, fangen wir mit unserem Text an.
Ziel erreichen
Verwenden Sie die Java-Sprache, um eine Konsolenversion des simulierten Buchausleihsystems zu implementieren, mit dem Ziel zu übenjava Abnormaler Mechanismus.
Anforderungen erfüllen
Fertigprodukt erreichen
Referenzcode und Anmerkungen
package com.jinger; import java.util.Scanner;//导入Scanner包 public class BookManagerEasy { private static Scanner console = new Scanner(System.in);//接收系统输入 public static void main(String[] args) { //定义”图书“数组 String[] books = { "C语言", "数据结构", "汇编语言", "高数", "大学语文", "毛概" }; while (true) { System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书"); String book; try { //取得整型命令 int command = inputCommand(); //根据不同命令值,进行不同操作 switch (command) { case 1://按照图书名称选择图书 book = getBookByName(books); System.out.println("book:" + book); break; case 2://按照图书序号(数组下标)选择图书 book = getBookByNumber(books); System.out.println("book:" + book); break; case -1://返回值为-1,说明输入有误 System.out.println("命令输入错误!请根据提示输入数字命令!"); continue; default://其他值的命令均认为是错误命令 System.out.println("命令输入错误!"); continue; } break;//退出程序 } catch (Exception bne) { //捕获“图书不存在异常”时,要求重新输入命令 System.out.println(bne.getMessage()); continue; } } } //按照图书名称查询图书 private static String getBookByName(String[] books) throws Exception { System.out.println("输入图书名称:"); //获取输入的图书名称 String name = console.next(); for (int i = 0; i < books.length; i++) { if (name.equals(books[i])) //输入的名称与某一图书名称匹配,返回该图书 return books[i]; } //若无匹配,抛出”图书不存在异常“ throw new Exception("图书不存在!"); } //根据图书序号(数组下标)查询图书 private static String getBookByNumber(String[] books) throws Exception { while (true) { System.out.println("输入图书序号:"); try { //获取输入的图书序号(数组下标) int index = inputCommand(); //若返回值为-1 if(index == -1){ System.out.println("命令输入错误!请根据提示输入数字命令!"); continue; } //若不出现“数组下标越界异常”,则返回相应位置的图书 String book = books[index]; return book; } catch (ArrayIndexOutOfBoundsException e) { //输入的序号不存在(引发“数组下标越界异常”),则抛出“图书不存在异常” Exception bookNotExists = new Exception("图书不存在!"); bookNotExists.initCause(e); throw bookNotExists; } } } //从控制台输入命令,用于输入命令和输入图书序号 private static int inputCommand(){ int command; try { command = console.nextInt(); return command; } catch (Exception e) { //若输入字符型或者字符串,则抛出异常,捕获该异常,抛出“错误命令异常” console = new Scanner(System.in); //返回-1 return -1; } } }
Zusammenfassung
[Verwandte Empfehlungen]
3. Umfassende Analyse von Java-Annotationen
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schritte zur Simulation des Buchleihsystems mithilfe des Java-Ausnahmemechanismus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!