L1-017 到底有多二 (15 分)(java)
1、将字符串转换为字符数组
2、使用for循环与if语句求出2的个数
3、使用if语句判断情况,并使用相应公式进行计算
import java.util.Scanner;
public class ptacs {
public static void main(String[] args) {
int count = 0;
Scanner in = new Scanner(System.in);
String str = in.next();
char[] num = str.toCharArray();
//使用for循环与if语句判断出数字是不是2,用计数器进行累加
for (int i = 0; i < num.length; i++) {
if (num[i] == '2')
count++;
}
double sum = 0;
//使用if语句判断各种情况,代入公式进行计算
if (num[0] == '-' && (num[num.length - 1] - '0') % 2 == 0)// 是负数,又是偶数;
{
sum = (double) (count * 1.0 / (num.length - 1)) * 1.5 * 100 * 2;
}
if (num[0] == '-' && (num[num.length - 1] - '0') % 2 != 0)// 是负数,但不是偶数;
{
sum = (double) (count * 1.0 / (num.length - 1)) * 1.5 * 100;
}
if ((num[num.length - 1] - '0') % 2 == 0 && num[0] != '-') {
sum = (double) (count * 1.0 / (num.length)) * 2.0 * 100;
}
if (num[0] != '-' && (num[num.length - 1] - '0') % 2 != 0) {
sum = (double) (count * 1.0 / (num.length) * 100);
}
System.out.printf("%.2f%%", sum);
}
}