Maison  >  Article  >  Java  >  Explication détaillée des étapes pour simuler le système d'emprunt de livres à l'aide du mécanisme d'exception Java

Explication détaillée des étapes pour simuler le système d'emprunt de livres à l'aide du mécanisme d'exception Java

Y2J
Y2Joriginal
2017-05-09 11:37:141671parcourir

Cet article vous présente principalement les informations pertinentes sur l'utilisation du mécanisme d'exception Java pour implémenter un système d'emprunt de livres simulé. L'article présente d'abord brièvement le mécanisme d'exception Java, puis explique comment implémenter une version console dans le langage Java via. exemple de code. Les amis qui en ont besoin peuvent se référer au système d'emprunt de livres simulé.

Cet article présente l'utilisation du langage Java pour implémenter une version console d'un système d'emprunt de livres simulé. Avant de commencer le contenu formel de cet article, comprenons d'abord le mécanisme d'exception Java.

Qu'est-ce qu'une exception ?

Anormal, pas normal. Exception est l'abréviation d'événement Exception, donc une exception est un événement qui se produit lorsque le programme est en cours d'exécution.

Des exceptions affecteront la continuité du programme et l'interrompront. En Java, tout est objet, donc pour définir des exceptions, il faut également utiliser des objets. L'objet exception

encapsule le type d'exception et le statut lorsqu'une exception se produit dans le programme.

Ce que nous disons souvent lance une exception est de créer un objet d'exception et de le soumettre au système en cours d'exécution.

Mécanisme de capture d'exception et try-catch

Lorsqu'une exception se produit, nous devons savoir où l'exception s'est produite, donc comment localiser l'exception exception Où est la source ?

En Java, la pile d'appels est utilisée pour enregistrer l'ordre des appels de méthode. Lorsqu'une exception se produit dans un programme Java, il recherchera la pile d'appels, dans l'espoir de trouver un

bloc de code spécifique pour la gérer. Tout comme lorsque nous sommes malades (Exception), nous irons à l'hôpital voir un médecin sur un sujet précis. Par exemple, dans la figure ci-dessous, la méthode main

appelle la méthode0, et la méthode0 appelle la méthode1 de la même manière, et ainsi de suite.

En Java Gestion des exceptions, utilisez l'instruction try-catch. La syntaxe est :

try {

  // 可能出现异常的代码

} catch (ExceptionType name) {

  // 异常处理代码

} catch (ExceptionType name) {

  // 异常处理代码

}

Bon, commençons notre texte.

Atteindre l'objectif

Utiliser le langage Java pour implémenter une version console du système d'emprunt de livres simulé, dans le but de s'entraîner Mécanisme d'exception Java.

Réaliser les exigences

Réaliser le produit fini

Code de référence et annotations

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;
 }
 }
}

Résumé

[Recommandations associées]

1 Tutoriel vidéo gratuit Java

2. Manuel

3.

Analyse complète des annotations Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn