`

Java使用字符模拟5段显示器(火柴棍)的数字

    博客分类:
  • JAVA
阅读更多

问题:

question

 

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;

public class MatchNumberGenerator {
	public static int[] matchNumberGenerator(int a){
		int result[] = null;
		switch(a){
		//"_"-->2 " "-->0 "|"-->1
		case 0:
			result = new int[]{0,2,0,1,0,1,1,0,1,1,0,1,1,2,1};
			//"' _ '| |'| |'| |'|_|".split(",");
			break;
		case 1:
			result = new int[]{0,0,0,0,0,1,0,0,1,0,0,1,0,0,1};
			//"'   '  |'  |'  |'  |".split(",");
			break;
		case 2:
			result = new int[]{0,2,0,0,0,1,0,2,1,1,0,0,1,2,0};
			//"' _ '  |' _|'|  '|_ ".split(",");
			break;
		case 3:
			result = new int[]{0,2,0,0,0,1,0,2,1,0,0,1,0,2,1};
			//"' _ '  |' _|'  |' _|".split(",");
			break;
		case 4:
			result = new int[]{0,0,0,1,0,1,1,2,1,0,0,1,0,0,1};
			//"'   '| |'|_|'  |'  |".split(",");
			break;
		case 5:
			result = new int[]{0,2,0,1,0,0,1,2,0,0,0,1,0,2,1};
			//"' _ '|  '|_ '  |' _|".split(",");
			break;
		case 6:
			result = new int[]{0,2,0,1,0,0,1,2,0,1,0,1,1,2,1};
			//"' _ '|  '|_ '| |'|_|".split(",");
			break;
		case 7:
			result = new int[]{0,2,0,0,0,1,0,0,1,0,0,1,0,0,1};
			//"' _ '  |'  |'  |'  |".split(",");
			break;
		case 8:
			result = new int[]{0,2,0,1,0,1,1,2,1,1,0,1,1,2,1};
			//"' _ '| |'|_|'| |'|_|".split(",");
			break;
		case 9:
			result = new int[]{0,2,0,1,0,1,1,2,1,0,0,1,0,2,1};
			//"' _ '| |'|_|'  |' _|".split(",");
			break;
		}
		return result;
	}

	public static void printNumber(int[] numberArray, int arrayIndex, int arrayIndexEnd){
		for(int i = arrayIndex; i < arrayIndexEnd;i++){
			//System.out.print(numberArray[i]);
			switch(numberArray[i]){
			//"_"-->2 " "-->0 "|"-->1
			case 0:
				System.out.print(" ");
				break;
			case 1:
				System.out.print("|");
				break;
			case 2:
				System.out.print("_");
				break;
			}
		}
		System.out.print(" ");
	}
	
	public static boolean isNumber(String args) {
		  
		  return args.matches("-?\\d+\\.?\\d*");
		    
		 }
	public static void main(String[] args) {
		System.out.println("Please enter the number:");
		Scanner sc = new Scanner(System.in);
		String[] inputString = sc.nextLine().split("");
		//System.out.println(inputString);
		List<int[]> inputIntList = new LinkedList<int[]>();
		for(String temp: inputString){
			if(isNumber(temp))
				inputIntList.add(matchNumberGenerator(Integer.parseInt(temp)));
		}
		//System.out.println(inputIntList);
		Iterator<int[]> iterator = null;
		for(int i = 0; i < 5; i++){
			iterator = inputIntList.iterator();
			while(iterator.hasNext()){
				printNumber(iterator.next(),i*3,(i+1)*3);
			}
			System.out.println();
		}

	}

}
 

输出

输出

 

  • 大小: 21.3 KB
  • 大小: 7.8 KB
分享到:
评论

相关推荐

    基于JAVA实现的控制台火柴棍游戏.zip

    火柴棍游戏是一种简单而古老的游戏,它通常包括一堆火柴棍和一系列需要玩家通过添加或移除火柴棍来解决的问题或挑战。玩家必须在限定的规则下操作,以达到游戏的目标,比如使火柴棍排成特定的图案或达到某种平衡状态...

    java 中字符串只中英数字混合需要分割的解决办法

    这个方法用来处理java中可能有一些特别的需要,一大串中英文混合,需要中间截断或是中英中间添加一些特别的标识,调用这个方法 第一个参数是要处理的字符串,第二个是要在中英字符中间插入的字符。调用就可以得到想...

    用于FPGA的Verilog语言七段显示器

    在这个项目中,“用于FPGA的Verilog语言七段显示器”指的是使用Verilog编写代码来控制七段显示器在FPGA上显示数字或字符。 七段显示器通常由七个独立的LED段组成,分别代表abcdefg七个部分,可以组合显示0到9的数字...

    Java 字母数字字符串 混合排序(绝对超值管用)

    List&lt;String&gt; location=new ArrayList(); 一行代码轻松搞定混合排序问题 Collections.sort(location, new SortUtils(true));

    java验证字符串是否符合json格式

    5. 值可以是字符串、数字、布尔值、null、对象或数组。 6. 字符串也必须用双引号包围。 在Java中,我们可以利用现有的库如Jackson、Gson或org.json等来实现JSON字符串的验证。这里以`org.json`库为例,给出一个简单...

    matchstick_move_worldg8y_火柴棍小游戏_compositionf1r_

    Python中,可以使用数据结构如字符串、列表或自定义类来表示火柴棍和等式。通过迭代或递归算法来遍历所有可能的移动,并利用条件判断来验证解。此外,为了增加交互性,还可以设计一个图形用户界面(GUI),让用户...

    七段显示器编程源代码

    首先,必须明确一点,七段显示器的显示原理是通过控制七个发光段(通常标记为a到g)的开启和关闭,来显示不同的数字和字符。而微控制器通过特定的端口输出控制信号,从而实现对七段显示器的控制。 在上述给出的源...

    字符型液晶显示器的控制.pptx

    字符型液晶显示器是电子设备中常见的一种显示装置,尤其在嵌入式系统和小型设备中广泛应用。本主题主要探讨字符型液晶显示器的控制原理、功能特点以及与微控制器的接口设计。 首先,字符型液晶显示器通常分为数显...

    七段数码显示器的数字-python源码.zip

    标题 "七段数码显示器的数字-python源码.zip" 暗示了这是一个关于使用Python编程语言实现七段数码显示器数字显示的课程案例。七段数码显示器是一种常见的电子元件,常用于电子表、计算器等设备上,它通过七段不同的...

    java实现字符转换成十六进制的ASCII码

    在Java编程语言中,将字符转换为十六进制表示的ASCII码是一项常见的任务,尤其是在处理字符串数据时。本文将深入探讨如何实现这个功能,并通过一个具体的示例代码`StringToAscii.java`进行演示。 首先,我们需要...

    java正则表达式判断密码是否包含大小写、数字、特殊字符

    随机产生字符串,字符串中的字符只能由特殊字符(&@#$%*),大写字母(A-Z),小写字母(a-z)以及数字(0-9)组成,且每种字符至少出现一次。这样产生字符串的方式可以应用到如下场景,比如,我们有一个应用就是添加用户完毕...

    电子屏字符显示器 电子屏字符显示器

    电子屏字符显示器 电子屏字符显示器 电子屏字符显示器 电子屏字符显示器

    java 字符串转16进制Ascii

    这个过程涉及到字符到数字的转换,并且通常使用`Character`类和`Integer`类的方法来完成。让我们深入探讨如何实现这一过程。 首先,每个字符在ASCII码表中都有一个唯一的数值对应,Java中的`char`类型就是用来表示...

    设计课题 可编程字符(图案)显示器设计

    设计课题“可编程字符(图案)显示器设计”要求学生综合运用数字电子技术基础,熟悉大规模数字集成电路的应用,并且增强编程能力,尤其是针对字符或图案的程序设计。在硬件层面,设计者需要掌握如何运用EPROM2732等...

    java替换字符串中的符号

    在Java中使用正则表达式进行字符串操作时,理解和运用Unicode属性表达式可以极大地扩展我们的能力,使我们能够更精确地匹配和替换特定类别的字符。通过上述示例,我们可以看到,使用`[\\pP]`这样的表达式,可以有效...

    crt显示器模拟实验报告

    计算机中的字符和图形以二进制数字的形式存储在内存中,而CRT显示器则需要接收模拟信号才能显示。为此,图形适配器将这些数字信息转化为视频模拟信号,然后发送到显示器。本次课程设计的目标是开发一个能够模拟这一...

    java将数字转换成大写字母

    1. 方便易用:使用 Java 实现数字金额到中文大写字符的转换可以方便地将数字金额转换成中文大写字符。 2. 高效快捷: Java 实现数字金额到中文大写字符的转换可以快速地将数字金额转换成中文大写字符。 3.灵活多样:...

    java中文排序,数字字母汉字排序

    默认情况下,Java使用自然排序,即按照字符串的Unicode值进行排序,这对于英文字符和数字来说通常是合适的,但对于中文字符则不是我们期望的排序方式。 为了实现中文、数字和字母的排序,我们需要创建一个`...

    java 判断字符串是否是中文

    java 判断字符串是否是中文 共总结了6种方法。。。。

Global site tag (gtag.js) - Google Analytics