package web;<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
/**
* 一个数的因子,是指能被这个数整除的数(不包括自身),不同于质因数
* @author zengsht
*
*/
public class GetWanShu {
public static void main(String[] args) {
System.out.println("1到1000的完数有: ");
for(int i=1; i<1000; i++) {
int t = 0;
//一个数N最大的因子M,因为要整除,所以有M <= N/2,且M是一个整数
for(int j=1; j<= i/2; j++) {
if(i % j == 0) {
t = t + j;//t是所有因子的和
}
}
if(t == i){
System.out.print(i + " ");
}
}
}
}
package web;
public class JavaCharByte {
public static void main(String args[]) {
//字符只能是单个的,所以ca不能定义成'中文',eg也不能定义成'ww'
Character ca = '文';
//用基本类型定义时重点强调的是值,也即是一个常量,所以没有任何方法的
//所以要使用方法,就必须使用其包装类型Character
Character eg = 'w';
//java里一个
System.out.println(ca.toString().getBytes().length);//打印2
System.out.println(eg.toString().getBytes().length);//打印1
Integer i = 5;
System.out.println(ca.SIZE);
//查看int类型占用的位数,8位=1字节
System.out.println(i.SIZE);//打印32
//2的16次方
System.out.println(Math.pow(2, 16));
}
}
package web;
/**
* 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
* 在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,
* 取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,
* 返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。* /
* @author zengsht
*
*/
public class MaxCommonDivid {
public static void main(String args[]){
int a =72,b=24;
int maxCom = getMixCom(a,b);
System.out.println(a+","+b+"的最大公约数是:"+maxCom);
System.out.println(a+","+b+"的最小公倍数是:"+(a*b)/maxCom);
}
//8%3,这里3是除数,8是被除数
public static int getMixCom(int a,int b){
//定义除数,被除数
int divider,dividered;
if(a>b){
dividered = a;
divider = b;
}else{
dividered = b;
divider = a;
}
if(divider==0){
return dividered;
}else{
int temp = dividered%divider;
return getMixCom(temp,divider);
}
}
}
package web;
import java.util.*;
public class StaticInput {
public static void main(String[] args) {
int digital = 0;
int character = 0;
int other = 0;
int blank = 0;
char[] ch = null;
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
ch = s.toCharArray();
for(int i=0; i<ch.length; i++) {
char temp = ch[i];
if(temp >= '0' && temp <= '9') {
digital ++;
}else if((temp >= 'a' && temp <= 'z') || temp > 'A' && temp <= 'Z') {
character ++;
} else if(temp == ' '){
blank ++;
} else {
other ++;
}
}
System.out.println("数字个数: " + digital);
System.out.println("英文字母个数: " + character);
System.out.println("空格个数: " + blank);
System.out.println("其他字符个数:" + other );
}
}