package javaLeetCode.primary;

import java.util.Scanner;

public class IntegerToRoman_12 {
public static void main(String[] args) {
System.out.println("Please input a integer:");
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
int num = input.nextInt();
System.out.println(intToRoman_2(num));
}// end main() /*
* Test Data:
* III--3
* IV--4
* IX--9
* LVIII--58
* MCMXCIV--1994
* MCCCXIV--1314
* MMMIX--3009
* MMMCCXLIX--3249
*/
public static String intToRoman_1(int num) {
String []roman = {"M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","III","II","I"};
int []integer = {1000,900,500,400,100,90,50,40,10,9,5,4,3,2,1};
String str="";
for(;num>0;) {
for(int i=0;i<15;i++) {
if(num>=integer[i]) {
num -= integer[i];
str += roman[i];
break;
}else {
continue;
}//end if
}//end for
}//end for
return str;
}//end intToRoman() /**
* Use the simplest method.
* */
public static String intToRoman_2(int num) { String str="";
int a = num/1000;
int b = num%1000/100;
int c = num%100/10;
int d = num%10; //Enumerate each possible value
if(a==0) {str+="";}
if(a==1) {str+="M";}
if(a==2) {str+="MM";}
if(a==3) {str+="MMM";} if(b==0) {str+="";}
if(b==1) {str+="C";}
if(b==2) {str+="CC";}
if(b==3) {str+="CCC";}
if(b==4) {str+="CD";}
if(b==5) {str+="D";}
if(b==6) {str+="DC";}
if(b==7) {str+="DCC";}
if(b==8) {str+="DCCC";}
if(b==9) {str+="CM";} if(c==0) {str+="";}
if(c==1) {str+="X";}
if(c==2) {str+="XX";}
if(c==3) {str+="XXX";}
if(c==4) {str+="XL";}
if(c==5) {str+="L";}
if(c==6) {str+="LX";}
if(c==7) {str+="LXX";}
if(c==8) {str+="LXXX";}
if(c==9) {str+="XC";} if(d==0) {str+="";}
if(d==1) {str+="I";}
if(d==2) {str+="II";}
if(d==3) {str+="III";}
if(d==4) {str+="IV";}
if(d==5) {str+="V";}
if(d==6) {str+="VI";}
if(d==7) {str+="VII";}
if(d==8) {str+="VIII";}
if(d==9) {str+="IX";} return str;
}//end intToRoman()
}//end IntegerToRoman_12

Java实现LeetCode_0012_IntegerToRoman的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  3. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  4. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  5. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  6. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  7. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  8. Java多线程基础学习(二)

    9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...

  9. Java多线程基础学习(一)

    1. 创建线程    1.1 通过构造函数:public Thread(Runnable target, String name){}  或:public Thread(Runnable target ...

随机推荐

  1. java ->基本数据类型与包装类的概述和转化

    基本类型 包装类概述 在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的.而程序开发中,我们需要把字符串数据,根据需求转换成指定的基本数据类型,如年龄需要转换成int类型,考试成绩需 ...

  2. 2018-06-27 jq文档处理与jq对象属性操作

    jQ文档处理: 内部插入 A.append(B) ->把B后追加到A内部中 B.appendTo(A) ->把B后追加到A内部中 A.prepend(B) ->把B后追加到A内部中 ...

  3. 黑马程序员_毕向东_Java基础视频教程——类型转换(随笔)

    类型转换 class Test{ public static void main(String[] args) { byte b = 3; // b = b + 2; /* Test.java:5: ...

  4. 【漫画】CAS原理分析!无锁原子类也能解决并发问题!

    本文来源于微信公众号[胖滚猪学编程].转载请注明出处 在漫画并发编程系统博文中,我们讲了N篇关于锁的知识,确实,锁是解决并发问题的万能钥匙,可是并发问题只有锁能解决吗?今天要出场一个大BOSS:CAS ...

  5. IndexDB

    参考:http://www.ruanyifeng.com/blog/2018/07/indexeddb.html   cookie localStorage IndexedDB 大小 不超过4KB 2 ...

  6. P5410 【模板】扩展 KMP

    P5410 [模板]扩展 KMP #include<bits/stdc++.h> using namespace std; ; int q, nxt[maxn], extend[maxn] ...

  7. 04.PageNumberPagination分页

    一.使用默认分页 1.settings 设置 REST_FRAMEWORK = { 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.Pag ...

  8. Apache 慢连接dos

    http://neue.v2ex.com/t/108717------不实用 http://www.blogjava.net/bukebushuo/articles/293776.html http: ...

  9. Vue的双向绑定原理

    Vue的构造函数分析 vm就是MVVM中的View Model var vm = new Vue({ el: '#app', data: { message: 'Hello Vue!' } }) /* ...

  10. Spring 基于 Java 的配置

    前面已经学习如何使用 XML 配置文件来配置 Spring bean. 基于 Java 的配置可以达到基于XML配置的相同效果. 基于 Java 的配置选项,可以使你在不用配置 XML 的情况下编写大 ...