-------
android培训、
java培训、期待与您交流! ----------
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
思路:本来想用if else写的论坛上有人直接用这方法写了还没设权限 为了避免抄袭拿不到技术分另辟蹊径让我想到了正则
就是 正则的其他字符有点坑连空格都算进去了 只好拿空格减一减了
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
-------
android培训、
java培训、期待与您交流! ----------
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
思路:本来想用if else写的论坛上有人直接用这方法写了还没设权限 为了避免抄袭拿不到技术分另辟蹊径让我想到了正则
就是 正则的其他字符有点坑连空格都算进去了 只好拿空格减一减了
package
博
客;
import
java.
util.
Scanner;
import
java.
util.
regex.
Matcher;
import
java.
util.
regex.
Pattern;
public
class
LX1 {
/**
*
@param
args
*/
public
static
void
main(
String[]
args) {
// TODO Auto-generated method stub
String
s
=
null ;
String
en
=
"[a-zA-Z]",
num
=
"\\d",
space
=
"\\s",
other
=
"\\W";
//判断英文字母 数字 空格 其他的正则表达式
Scanner
reader
=
new
Scanner(
System.
in);
s
=
reader.
nextLine();
System.
out.
println(
"字母有:"
+
match(
en,
s)
+
"个");
System.
out.
println(
"数字有:"
+
match(
num,
s)
+
"个");
int
sp
=
match(
space,
s);
System.
out.
println(
"空格有:"
+
sp
+
"个");
System.
out.
println(
"其他字符有:"
+(
match(
other,
s)
-
sp)
+
"个");
//应为正则中其他字符中包含空格所以减个空格数
}
public
static
int
match(
String
rul,
String
s)
//正则表达式的第四种用法获取
{
Pattern
p
=
Pattern.
compile(
rul);
//将规则封装成对象
Matcher
m
=
p.
matcher(
s);
int
count
=
0;
while(
m.
find())
{
count
++;}
return
count;
}
}
应为QQ插代码出现重叠现象所以不用插入代码的方法
思路:1-n即用个集合存入1-n然后用循环不断的遍历集合 在循环中定义到3就去除被指到的元素的方法。
T T由于一开始检查不仔发了个错误的
活动地址:
http://bbs.itheima.com/forum.php?mod=viewthread&tid=116279
思路:1-n即用个集合存入1-n然后用循环不断的遍历集合 在循环中定义到3就去除被指到的元素的方法。
T T由于一开始检查不仔发了个错误的
package 博客;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class LX2 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
List a=new ArrayList();
String s=null;
System.out.println("请输入N:");
Scanner reader=new Scanner(System.in);
s=reader.nextLine();
for(int i=1;i<=Integer.parseInt(s);i++)
{a.add(i);}
System.out.println(a.toString());
int index=0,count=1;//下标 和 数数
while(a.size()!=1)
{ /*if(index>=a.size()) {index=0;}
if(count==3) {a.remove(index);count=1;System.out.println(a.toString());}//当数到3的时候移去该数 并打印一次集合*/
//错误代码
if(count==3) {if(index>=a.size()) {index=0;}//在这里多加一句判断 之前当数字是6的倍数还是在结尾的时候 index没有及时清零 导致后面count多加了次1
//测试的时候只试了2次单数 T T
a.remove(index);count=1;System.out.println(a.toString());}//当数到3的时候移去该数 并打印一次集合
if(index>=a.size()) {index=0;}
++index;
++count;
}
System.out.println("最后留下的数为:"+a.toString());
}
}
活动地址: