1. 程式人生 > >lesson 6:寫一個方法void triangle(int a,int b,int c),判斷三個引數是否能構成一個三角形。

lesson 6:寫一個方法void triangle(int a,int b,int c),判斷三個引數是否能構成一個三角形。

題目:

寫一個方法void triangle(int a,int b,int c),判斷三個引數是否能構成一個三角形。如果不能則丟擲異常IllegalArgumentException,顯示異常資訊:a,b,c “不能構成三角形”;如果可以構成則顯示三角形三個邊長。在主方法中得到命令列輸入的三個整數,呼叫此方法,並捕獲異常。

程式碼:

package 異常;

import java.util.*;
public class judgment {
	void triangle(int a,int b,int c) throws Exception
	{
		if((a+b)>c&&(a+c)>b&&(c+b)>a)
		
			System.out.println("能構成三角形");
		else 
		
		throw new Exception();
	}
}


package 異常;//有錯

import java.util.*;
public class Test {

	public static void main(String[] args) {
		Scanner in =new Scanner(System.in);
		int x,y,z;
		System.out.println("請輸入邊長:");
		judgment j=new judgment();
		
		try
		{	x=in.nextInt();
			y=in.nextInt();
			z=in.nextInt();
			j.triangle(x,y,z);
			
		}
		catch(InputMismatchException e1)
		{	
			System.err.println("請輸入整數");
		}
		catch(Exception e)
		{	
			
			System.err.println("不能構造三角形");
			
		}
		finally{
			System.out.print("感謝使用本程式!");
		}
		
	}

}

結果:




總結:如果用方法調出異常,則需要在方法頭上加
throws Exception
方法內部加throw
另外 throw 與catch需要配套使用。 


相關推薦

lesson 6一個方法void triangle(int a,int b,int c)判斷引數是否構成一個三角形

題目: 寫一個方法void triangle(int a,int b,int c),判斷三個引數是否能構成一個三角形。如果不能則丟擲異常IllegalArgumentException,顯示異常資訊:a,b,c “不能構成三角形”;如果可以構成則顯示三角形三個邊長。在主方法

編寫一個程式開啟3執行緒這3執行緒的ID分別為ABC每個執行緒將自己的ID在螢幕上列印10遍要求輸出結果必須按ABC的順序顯示;如ABCABC

package test1; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.R

開啟3線程這3線程的ID分別為ABC每個線程將自己的ID在屏幕上要求輸出結果必須按ABC的順序顯示ABCABC

abc multi adf ++ include vol form 主線程 tdi 1 #include <stdio.h> 2 #include <process.h> 3 #include <windows.h> 4 5

編寫一個程式開啟3執行緒這3執行緒的ID分別為ABC每個執行緒將自己的ID在螢幕上列印10遍

#include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <unistd.h> #include <string.h> //#define DEBUG 1 #d

找出滿足以下性質的位數輸出並統計其個數被11整除數位上沒有兩個數相同

#include<iostream> using namespace std; int main() { int count=0; int i,num1,num2,num3; for(i=10;i<1000;i++) { if(i%11==0)

問題將輸入的任意整數abc按從小到大的順序輸出

/* 程式頭部註釋開始(為避擴音交博文中遇到的問題,將用於表明註釋的斜槓刪除了)    * 程式的版權和版本宣告部分    * All rights reserved.    * 檔名稱: txt.c    * 作    者: liuyongshui    * 問    題

定義一個帶參的巨集使兩引數的值互換出程式輸入兩個數作為使用巨集時的實參輸出已交換後的兩

import java.util.Scanner; public class Main {     public static void main(String[] args) {         Scanne

輸入三角形的3條邊長(均為正整數)如果不構成一個三角形則輸出“not a triangle”;如果能夠構成一個直角三角形則輸出“yes”;如果不構成直角三角形則輸出“no”

題目描述 輸入三角形的3條邊長(均為正整數),如果不能構成一個三角形,則輸出“not a triangle”;如果能夠構成一個直角三角形,則輸出“yes”;如果不能構成直角三角形,則輸出“no”。 請將下面的程式填寫完整。 #include <stdio.h> int m

程式碼輸入一年份判斷該年份是否是閏年並輸出結果

# 輸入一年份,判斷該年份是否是閏年並輸出結果。# 注: 凡符合下面兩個條件之一的年份是閏年。# 1. 能被4整除但不能被100整除。# 2. 能被400整除。year = int(input("please enter the year: "))if year % 4 == 0 and year % 100

在D-H引數法裡為什麼只用四引數完全定義一個具有6自由度的座標系

在一個三維空間裡,我們知道要表徵一個完全自由的座標系共需要6個自由度: 三個用來表徵姿態(orientation)roll-pitch-yaw 三個用來表徵位置(position) x-y-z 如此來說,對於一個有n個連桿的機械臂,要描述每個連桿的位姿(位置+姿態

Java程式設計定義一個int型的一維陣列包含10元素分別賦一些隨機整數然後求出所有元素的最大值最小值平均值和值並輸出出來

public class Program1 {/**1.定義一個int型的一維陣列,包含10個元素,分別賦一些隨機整數,然後求出所有元素的最大值,最小值,平均值,和值,並輸出出來。*/public static void main(String[] args) { int[

題目輸入一個字串打印出該字串中字元的所有排列例如輸入字串abc則輸出由字元abc排列出來的所有字串abc、acb、bac、bca、cab和cba

題目:輸入一個字串,打印出該字串中字元的所有排列。例如輸入字串abc,則輸出由字元a、b、c所能排列出來的所有字串abc、acb、bac、bca、cab和cba。 /** * */ pack

C#物件的特點封裝繼承多型 以及c#中隱藏(new)和方法重寫(override)和過載(overload)的區別

封裝 1)封裝原則:將不需要對外提供的內容都隱藏起來,把屬性都隱藏,提供公共方法對其訪問,通常有兩種訪問方式:set 設定,get 獲取。 2)封裝結果:存在但是不可見。 3) 訪問修飾符 宣告的可訪問性                                

Android 一個方法,拿到手機聯絡人(附:手機號正則判斷)

有需要的直接拿去用, 方法: /* *作者:趙星海 *時間:18/06/28 16:40 *用途: 獲取手機聯絡人 */ private ArrayList<Bean_Contacts> getContacts

題目輸入一個字串輸出該字串中字元的所有組合例子如果輸入abc它的組合有abc、ab、ac、bc、abc

 題目:輸入一個字串,輸出該字串中字元的所有組合。舉個例子,如果輸入abc,它的組合有a、b、c、ab、ac、bc、abc。 /* * AllQ.java 2011-10-23 * Copyri

IP地址的分類及範圍詳解ABC、D、E五類是如何劃分的?

網絡地址分類 IP地址分類 IP地址劃分 IP地址類型 IP地址範圍 IP地址的分類及範圍詳解:A、B、C、D、E五類是如何劃分的?最近在考證,有一項內容是網絡IP地址劃分的題目,一直從事IT的猛然發現回答這個問題時產生了懷疑,於是習慣百度了一下,發現網上廣泛流傳的有關IP地址劃分的文章居

已知兩連結串列AB分別表示兩集合其元素遞增排列請設計一個演算法用於求出AB的交集並存放在A連結串列中

語言:C++ #include <iostream> using namespace std; typedef struct LNode { int data; LNode *next; }LNode,*LinkList; //建立連結串列 int CreateList(Li