java求助:写一个程序 输入一个七位数 判断是不是前三位是字母 后四位是数字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java求助:写一个程序 输入一个七位数 判断是不是前三位是字母 后四位是数字相关的知识,希望对你有一定的参考价值。

效果:自己随便输入一个七位数 程序会自动判断输入的数字前三位是否是字母,后三位是否是数字。比如ABC1234。符合条件的就输出“OK”;如果不符合要求(不到七位或者输入格式不对),则输出“AAA0000”。
谢谢各位了!写得好的话还可以追加分数!

参考技术A 我来给你写一个吧
public class Test

public static void main(String[] args)
Scanner sc = new Scanner(System.in);
String s = sc.next();
while (!"exit".equals(s))
//这里程序会先判断长度为7,因为是 and的关系,如果不满足的话不会调用test
if (s.length() == 7 && test(s))
System.out.println("ok");
else
System.out.println("AAA0000");

s = sc.next();



private static boolean test(String s)
s = s.toUpperCase();
//由于主程序中已经确保传进来的是7位长度,所以这里直接取了各段数据来用就可以了。
String p = s.substring(0, 3);
String e = s.substring(3);
return e.matches("[0-9]*") && p.matches("[A-Z]*");

参考技术B import java.util.Scanner;

public class Test
public static void main(String[] args)
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个七位数!");
String s = scanner.next();
char c[] = s.toCharArray();
boolean isLetter = true;
boolean isDigit = true;
for (int i = 0; i < 3; i++) //判断前三位是否为字母
if (!Character.isLetter(c[i]))
isLetter = false;
break;


for (int i = 4; i < c.length; i++) //判断后三位是否为数字
if (!Character.isDigit(c[i]))
isDigit = false;
break;


if (isLetter && isDigit && c.length != 7)
System.out.println("OK");
else
System.out.println("AAA0000");


参考技术C public class P
public static void main(String[] args)
boolean flag= false;
String input = "ABC3644";
if(input==null||input.length()!=7)
System.out.println("the length of input string must be 7 ");
return ;

//方法1 ,使用正则表达式
Pattern p = Pattern.compile("^[a-zA-Z]3\\d4$");
flag = p.matcher(input).matches();
print(flag);
///方法2,比较囧的方法,不推荐
for (int i=0;i<3;i++)
flag = Character.isLetter(input.charAt(i));

for(int i=3;i<7;i++)
flag = Character.isDefined(input.charAt(i));

print(flag);

private static void print(boolean flag)
if(flag)
System.out.println("OK");
else
System.out.println("wrong format! input like 'AAA000' ");


参考技术D public class RegexTest
public static void main(String[] args)
String input = "ABC1234";
if (input.length()==7 && input.substring(0, 3).matches("\\pAlpha3") && input.substring(3, 7).matches("\\pDigit4"))
System.out.println("OK");
else
System.out.println("AAA0000");


编写java程序,用户手动输入判断是不是为回文字符串(从前向后读从后向前读是一样,输入内容不能固定)

package test;
import java.util.Scanner;

public class Huiw
/**
* @param args
*/
public static void main(String[] args)
Scanner scanner =new Scanner(System.in);
System.out.println("输入一个正整数");

int iIn=scanner.nextInt(); //接收输入的数字
int k=0,iB=iIn;
int[] A=new int[10];
for ( ;iB>0;) //把数字拆分,放入数组
A[k++]=iB%10;
iB=iB/10;
//System.out.print(A[k]);

//System.out.println(k);
// for(int j=0;j<k;j++)
// System.out.print(A[j]+" ");

int i=0;
for(;i<k/2;i++)
if (A[i]!=A[k-i-1])
System.out.println("NO");
break;


// System.out.println(i);
// System.out.println(k);
if(i==k/2)
System.out.println("YES");

参考技术A public static boolean isEchoWord(String word) 
    for (int i = 0; i < word.length() + 1 / 2; i++) 
        if (word.charAt(i) != word.charAt(word.length() - 1 - i)) 
            return false;
        
    
    return true;


public static void main(String args[]) throws IOException 
    System.out.println("please input word:");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    for (String input = br.readLine(); !"exit".equals(input); input = br.readLine()) 
        System.out.println(isEchoWord(input));
    

参考技术B 你可以用栈的方法试试,先入后出,然后判断

以上是关于java求助:写一个程序 输入一个七位数 判断是不是前三位是字母 后四位是数字的主要内容,如果未能解决你的问题,请参考以下文章

程序设计输入一个三位数,求各个数位数字的三次方之和,并判断该和是不是与该数相同?

27、写一个函数,判断某一个四位数是否玫瑰花数 用C语言写

判断一年是不是为闰年的java程序怎么写?

编程c语言程序,输入一个五位数,判断是不是为对称说,如:12321,20202都是对称数

求助一个js搜索问题,如何判断多个输入框是不是为空

C语言,判断某整数中是不是存在重复数字。怎么写呢?