java 编程 以字符串形式读取邮箱
发布网友
发布时间:2022-05-06 13:38
我来回答
共3个回答
热心网友
时间:2022-06-30 19:03
public class Test2 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String input = "1234567890abcdefghijklmnopqrstuvwxyz";
int colum = 10;//一共有多少列,即一行有几个元素
outputByColumn(colum, input);
}
private static void outputByColumn(int colum, String input) {
int row = input.length() % colum == 0 ? input.length() / colum : input.length() / colum + 1;
// int row = colum;
char[][] result = new char[row][colum];
for (int i = 0; i < result.length; i++) {//set empty
for (int j = 0; j < result[i].length; j++) {
result[i][j] = ' ';
}
}
fillResult(result, input);
//打印结果
for (int i = 0; i < result.length; i++) {
for (int j = 0; j < result[i].length; j++) {
System.out.print(result[i][j] + " ");
}
System.out.println();
}
}
private static void fillResult(char[][] result, String input) {
char[] inputs = input.toCharArray();
for(int i = 0, startR = 0, startC = 0;i<inputs.length;) {//把所有的往填
for (int j = startC; j < result[startR].length - startC - 1 && i<inputs.length; j++) {//从左往右填充一行
result[startR][j]=inputs[i++];
}
for (int j = startR; j < result.length - startR && i<inputs.length; j++) {//从上至下填充一列
result[j][result[j].length-startR-1]=inputs[i++];
}
startC++;
startR++;
for (int j = result[result.length- 1].length - startC - 1; j >= startC && i<inputs.length; j--) {//从右往左填充一行
result[result.length - startR][j] = inputs[i++];
}
for (int j = result.length - startR; j >= startR && i<inputs.length; j--) {//从下往上填充一列
result[j][startC-1]=inputs[i++];
}
}
}
}
自动转圈,这个是初版,你理解下逻辑,进行判断优化吧
对应的结果:
1 2 3 4 5 6 7 8 9 0
n o p q r s t u v a
m z y x w b
l k j i h g f e d c
如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!
vaela
热心网友
时间:2022-06-30 19:03
String addr = "输入的邮箱地址";
String addrs[]=addr.split("@");
if (addrs.length()!=2)
{
"非法地址"
}
else
{
addrs[0]--用户名
addrs[1]--域名
}
热心网友
时间:2022-06-30 19:04
使用正则表达式
if(!/(\S)+[@]{1}(\S)+[.]{1}(\w)+/.test(e))
{
alert("请输入格式正确的 e-mail 地址!");
}