///01、 判断101-200之间有多少个素数,并输出所有素数。?
public class SuShuTest {
// 质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,
// 不能被其他自然数(质数)整除,换句话说就是该数除了1和它本身以外不再有其他的因数
public static int getSuShu() {
int count = 0;
for (int a = 101; a < 201; a++) {
for (int b = 2; b < a; b++) {
if (a % b == 0) {
count++;
break;
}
}
}
return (100-count);
}
}
2
//“将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
public class YinShuTest {
public static void getYinShu(int a) {
System.out.print(a + "=");
for (int b = 2; b <= a; b++) {
while (a % b == 0 && a != 0) {
a = a / b;
if (a == 1) {
System.out.println(b);
} else {
System.out.print(b + "*");
}
}
}
}
}
3
//输入一行字符,分别统计出其中((c >= 19968 && c <= 171941)英文字母(a---z,A---Z)、空格(" ")、数字(0---9)和其它字符的个数。
/*
* 思路:
* (1)将字符串转成字符数组
* (2)每一个字符进行判断
*
*
*/
public class TongJiTest {
public static void getTongJi(String s) {
// 将字符串转成字符数组
char[] a = s.toCharArray();
// 每种的字都有其计数器
int chinese = 0;
int english = 0;
int space = 0;
int num = 0;
int others = 0;
// 每一个字符进行判断
for (int i = 0; i < a.length; i++) {
// 判断中文
if (a[i] >= 19968 && a[i] <= 171941) {
chinese++;
}
// 判断英文
else if (a[i] >= 'a' && a[i] <= 'z' || a[i] >= 'A' && a[i] <= 'Z') {
english++;
}
// 判断数字
else if (a[i] >= '0' && a[i] <= '9') {
num++;
}
// 判断空格
else if (a[i] == ' ') {
space++;
}
else {
others++;
}
}
System.out.println("中文有" + chinese + " 英文有" + english + " 空格" + space
+ " 数字有" + num + " 其他" + others);
}
}
4
import java.util.Scanner;
//求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
//例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
public class DuoChongJiaTest {
public static void getDuoChongJia() {
int sum = 0;
System.out.println("请输入基数(1-9):");
Scanner sc = new Scanner(System.in);
int base = sc.nextInt();
while (base <= 0 || base > 9) {
System.out.println("输入有误,请输入1-9的整数:");
System.out.println("请输入基数(1-9):");
base = sc.nextInt();
}
System.out.println("请输入要相加的(1-9):");
int num = sc.nextInt();
while (base <= 0 || base > 9) {
System.out.println("输入有误,请输入1-9的整数:");
System.out.println("请输入基数(1-9):");
base = sc.nextInt();
}
int n = base;
for (int i = 0; i < num; i++) {
if(i==0){
n =base* ((int)(Math.pow(10, i))) ;
sum +=n;
}else{
n =base* ((int)(Math.pow(10, i)))+n ;
sum+=n;
}
}
System.out.println(sum);
}
}
5
//有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
//每一位不相同,不能有重复的数字
public class ThreeNoTest {
public static void getThreeNo() {
int count = 0;
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= 4; j++) {
for (int l = 1; l <= 4; l++) {
if (i != j && i != l & j != l) {
count++;
System.out.println(i * 100 + j * 10 + l + " count="
+ count);
}
}
}
}
}
}
6
import java.util.Scanner;
//给一个不多于5位的正整数。要求:一、它是几位数,二、逆序打印出各位数字。
public class NumLiXunTest {
public static void getNumLiXun() {
String w;
System.out.println("请输入一个小于10000的数字:");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
while (a >= 10000) {
System.out.println("请输入一个小于10000的数字:");
a = sc.nextInt();
}
String s = String.valueOf(a);
char[] c = s.toCharArray();
if (c.length == 4) {
w = "四位数";
}
else if (c.length == 3) {
w = "三位数";
}
else if (c.length == 2) {
w = "两位数";
}
else {
w = "一位数";
}
StringBuffer sb = new StringBuffer(s);
sb.reverse();
System.out.println("逆序输出为: " + sb + ", 它的位数为" + w);
}
}
7
//输入三个整数x、y、z,把这三个数由小到大输出。
public class BiJiaoTest {
public static void getBiJiao(int a, int b, int c) {
int[] s = { a, b, c };
for (int i = 0; i < s.length; i++) {
for (int j = 0; j < s.length - i - 1; j++) {
if (s[j] > s[j + 1]) {
int t = s[j];
s[j] = s[j + 1];
s[j + 1] = t;
}
}
}
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
}
}
}
8
/利用递归方法求5!
public class DiGuiTest {
public static void getDiGui()
{
int x = 5;
int rs = (int) Fac(x);
System.out.println("" + x + "! = " + rs);
}
public static long Fac(int x) { /*阶乘算法*/
if (x > 1)
return (x * Fac(x - 1)); /*递归*/
else
return 1;
}
}
9
//一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
public class HuiWenShuTest {
public static void getHuiWenShu(int a) {
int w, q, b, s, g;
w = (a / 10000) % 10;
q = (a / 1000) % 10;
b = (a / 100) % 10;
s = (a / 10) % 10;
g = a % 10;
if (g == w && s == q) {
System.out.println(a + "是一个回文数");
}
else{
System.out.println(a + "不是一个回文数");
}
}
}
10
/将一个数组逆序输出,(不能使用API的方法)。
public class ShuZhuNiXunTest {
public static void getShuZhuNiXun(int[] arr) {
for (int i = arr.length - 1; i >= 0; i--) {
System.out.println(arr[i]);
}
}
}
|