1.在英文中,有一些标点符号需要成对使用,达到闭合的效果。例如双引号("") 大括号({}) 方括号([])现在我们需要检测指定文本中的 双引号,大括号, 方括号是否闭合
package com.atguigu.java1;
import java.util.Scanner;
import java.util.Stack;
public class Kuo_hao_pi_pei {
public static void main(String[] args) {
Scanner sr = new Scanner(System.in);
String s = sr.nextLine();
char[] arr = s.toCharArray();
System.out.println(solution(s, arr));
;
}
static boolean solution(String s, char arr[]) {
Stack<Character> stack = new Stack<Character>();
int flag = 0;
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (ch == '[' || ch == '{') {
stack.add(ch);
}
if (ch == '"') {
stack.add(ch);
flag += 1;
}
else if (ch == ']') {
char ch1 = stack.pop();
if (ch1 != '[')
return false;
}
else if (ch == '}') {
char ch2 = stack.pop();
if (ch2 != '{')
return false;
}
}
if (!stack.isEmpty() && flag % 2 != 0)
return false;
return true;
}
}
2.一级目录输入任意一个正整数,计算出它的阶乘得数尾部有几个连续的0. 题目编写完毕需要计算出1000的阶乘得数尾部有几个连续的0,需要把这个统计数字打印输出例如:3!= 6, 程序输出0 5!=120, 程序输出1.
package com.atguigu.java1;
import java.math.BigInteger;
import java.util.Scanner;
public class N_de_jiecheng{
public static void main(String[] args) {
@SuppressWarnings("resource")
String s = new Scanner(System.in).nextLine();
String ch = BigNumber(new BigInteger(s)).toString();
int len = ch.length();
int count=0;
for(int i=len-1;i>=0;i--){
char a = ch.charAt(i);
if(a=='0')
count++;
else
break;
}
System.out.println(count);
}
public static BigInteger BigNumber(BigInteger n){
if(n.intValue()==1) return new BigInteger("1");
BigInteger bt = new BigInteger("1");
BigInteger sb = n.subtract(bt);
return n.multiply(BigNumber(sb));
}
}