用java写一个将大写的MAC地址转化为小写,切把分割用的-转化为:,首先判断输入是不是为MAC地址,在转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java写一个将大写的MAC地址转化为小写,切把分割用的-转化为:,首先判断输入是不是为MAC地址,在转换相关的知识,希望对你有一定的参考价值。

class AAA

public static void main(String[] args)

String str = "ass-BB-cc-dD-EE-FF";
String c[] = str.split("-"); //拆分字符串
StringBuffer sb = new StringBuffer();
for(int i=0;i<c.length;i++)
sb.append(c[i]);

String str1 = sb.toString();//拆分后转换回字符串
String str2 = str1.toLowerCase();
int arr[] = new int[str2.length()];
for(int j=0;j<arr.length;j++) //将字符串转换为ASCII码
arr[j] = str2.charAt(j);
if((arr[j]>=48&&arr[j]<=57)||(arr[j]>=97&&arr[j]<=102))
char x = (char)arr[j];
if(j==2||j==4||j==6||j==8||j==10)
System.out.print("-");

System.out.print(x);

else
System.out.print("error!");
break;






这是我写的,但是报错时总是把之前正确的输出了,怎么改就直接输出error呢?

正则判断输入
if("1C-4B-D6-CD-DE-D0".matches("[0-9A-F]2-[0-9A-F]2-[0-9A-F]2-[0-9A-F]2-[0-9A-F]2-[0-9A-F]2-[0-9A-F]2")) System.out.println("true");
转大小写
"".toLowerCase();
"".toUpperCase();
参考技术A 你的意思是如果中途判断出一个字符不是0-9或者是a-z的话就不输出,直接打印error?追问

不是a-z,是a-f,我现在的程序是比如第三个字母不符合要求的话前两个正确的也输出,但是我想直接输出error就可以了,我一开始用flag标记,但是怎么判断for循环之后的flag呢,求大神指点

追答

那你就把处理后的字符拼成一个字符串啊,等完全处理完了才打印他不就行了。

Java如何将每个单词的第一个字符转为大写

参考技术A 一句话按空格截取(正则表达式),截取的字符串第一个替换用replace方法,touppercase就ok。 参考技术B package com.yiibai;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MakeFirstLetterUppercase
public static void main(String[] args)
String str = "this is a java test String upcase: 123string";
System.out.println(str);
StringBuffer stringbf = new StringBuffer();
Matcher m = Pattern.compile("([a-z])([a-z]*)", Pattern.CASE_INSENSITIVE).matcher(str);
while (m.find())
m.appendReplacement(stringbf, m.group(1).toUpperCase() + m.group(2).toLowerCase());

System.out.println(m.appendTail(stringbf).toString());

以上是关于用java写一个将大写的MAC地址转化为小写,切把分割用的-转化为:,首先判断输入是不是为MAC地址,在转换的主要内容,如果未能解决你的问题,请参考以下文章

java 判断字符串首字母大写,非首字母小写代码

C语言截取字符串将大写字母转换为小写字母。

Java将控制台输入的人民币数字金额转化为大写

Java如何将每个单词的第一个字符转为大写

java大小写转换

在WORD中怎样用VBA将人民币大写金额转换成小写金额