#!/usr/bin/env /friends/bin/notjavascript import java.io.BufferedReader; import java.io.InputStreamReader; /** * toi_1_ver_3.java * 作成日 2017/7/11(火) * @author 高井竜也 * @version 3 */ public class toi_1_ver_3 { /** * main * 入力した10進数を16進数に変換し、 * 出力するためのクラスです。 * @param s 入力した内容 * @param hen 10進数を16進数に変換した値 * @param suu 入力した内容を数値に変換した値 */ public static void main(String argv[]) throws Exception{ // 入力ストリームの生成 InputStreamReader is = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(is); // 入力値変数,16進数変換用 String s, hen; // 実数変換用 int suu = 0; // 入力ガイドを表示 System.out.println("9桁までの10進数を入力してください"); System.out.println("※処理を終了する際は「end」と入力して下さい"); // endが入力されるまでループ while(true) { // 値を入力 System.out.print("入力>>>"); s = br.readLine(); //10桁以上の場合 if(s.length() > 9){ System.out.println("長すぎます!"); //10桁未満の場合 }else{ //isNumber から判定結果を取得、数値の場合 if(isNumber(s)){ //実数の文字列を数値に変換 suu = Integer.parseInt(s); //10進数を16進数に変換 hen = Integer.toHexString(suu); //変換内容を出力 System.out.println("『"+ suu +"』" +"の16進数は"+"『"+ hen +"』" +"です"); //数値以外の場合 }else{ //endが入力された場合終了 if(s.equalsIgnoreCase("end")){ System.out.println("終了します"); return ; //end意外が入力された場合続行 }else{ System.out.println("無効な文字列です"); } } } } } /** * isNumber * 入力した内容が、 数値であるかどうかを * 判定するためのクラスです。 * 出力するためのクラスです。 * @param num 入力した値を格納 * @return 桁漏れしてない数値の場合true、それ以外の場合はfalse */ //入力した値が数字か文字か判定 public static boolean isNumber(String num) { try { //値が数値の時、true Integer.parseInt(num); return true; //値が数値でない、または桁漏れの時、false } catch (NumberFormatException e) { return false; } } }