定义函数,题目规定使用public static int sunDigits(long n){
}
开头
import java.util.Scanner;
class Ds4_01{
public static void main(String[] args){
//1.先输入一个数字
Scanner scanner=new Scanner(System.in);
System.out.print("请输入一个数字:");
long num=scanner.nextLong();
//2.调用函数将num拆分求和
int sum=sumDigits(num);
System.out.println(sum);
}
public static int sumDigits(long n){
int sum=0;
while(true){
sum+=n%10;
n/=10;
if(n==0){
return sum;
}
}
}
}
import java.util.Scanner;
class Ds4_02{
public static void main(String[] args){
//1.提示用户输入一个数字
Scanner scanner=new Scanner(System.in);
System.out.print("请输入一个数字:");
int num=scanner.nextInt();
//2.判断该数字是否是一个回文
if(isPalindrome(num)){ // pause1
System.out.println("是回文");
}else{
System.out.println("不是回文");
}
//return ;
}
public static boolean isPalindrome(int num){
//1.先计算该数字的反序
//2.对比反序的数字和数字本身
//pasue 2
return reverse(num)==num;
}
public static int reverse(int num){
int sum=0;
while(true){
sum=sum*10+num%10;
num/=10;
if(num==0){
return sum;
}
}
}
}
import java.util.Scanner;
class Ds4_03{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
System.out.print("请输入行数:");
displayPattern(scanner.nextInt());
}
public static void displayPattern(int line){
for(int i=1;i<=line;i++){
for(int k=1;k<=line-i;k++){
if(line<10){
System.out.print(" ");
}else{
System.out.print(" ");
}
}
for(int j=i;j>=1;j--){
if(line<10){
System.out.printf("%-2d",j);
}else{
System.out.printf("%-3d",j);
}
}
System.out.println();
}
}
}
import java.util.Scanner;
class Ds4_04{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.print("请用户输入字符串:");
String str=input.next();
char[] num = str.toCharArray();//将字符串转化成字符数组
int count1=0;//记录字母的个数
int count2=0;//记录数字的个数
while(true){
for(int i=0;i<num.length;i++){
if(charIsInclude(num[i])){
count1++;
}else{
count2++;
}
}
/*
如果是true——就是字母
否则是——数字
*/
if(count1+count2<8 && count1+count2>8){
System.out.println("Invalid Password");
break;
}else{
if(count2>=2&&count1>=1){
System.out.println("Valid Password");
break;
}else{
System.out.println("Invalid Password");
break;
}
}
}
}
//判断一个字符是否包含字母和数字
public static boolean charIsInclude(char num){
boolean flag=true;
if(num>='a'&&num<='z' || num>='A'&&num<='Z'){
flag=true;
}else if(num>='0'&&num<='9'){
flag=false;
}
return flag;
}
}
class Ds4_05{
public static void main(String[] args){
System.out.println(sqrt(9));
}
public static double sqrt(long n){
double lastGuess=1;
double nextGuess=(lastGuess+n/lastGuess)/2;
while(true){
if(Math.abs(nextGuess-lastGuess)<0.00001){
return nextGuess;
}
lastGuess=nextGuess;
nextGuess=(lastGuess+n/lastGuess)/2;
}
}
}
class Ds04_06{
public static void main(String[] args){
int count=0; //表示回文素数的个数
int num=2; //表示可能的回文素数的数字 从2开始~?
while(true){
//如果num是 回文素数
if(isHuiWenAndSuShu(num)){
count++;
System.out.print(num+" ");
if(count%10==0){
System.out.println();
}
}
if(count==100){
break;
}
num++;
}
}
public static boolean isHuiWenAndSuShu(int num){
return isHuiWen(num)&&isSuShu(num);
}
public static boolean isHuiWen(int num){
return reverse(num)==num;
}
public static int reverse(int num){
int sum=0;
while(true){
sum=sum*10+num%10;
num/=10;
if(num==0){
return sum;
}
}
}
public static boolean isSuShu(int num){
for(int i=2;i<=num/2;i++){
if(num%i==0){
return false;
}
}
return true;
}
}
class Ds4_07{
public static void main(String[] args){
int count=0;
int num=2;
while(true){
if(isFanZhuanSuShu(num)){
count++;
System.out.print(num+" ");
if(count%10==0){
System.out.println();
}
}
if(count==100){
return; //结束当前函数
}
num++;
}
}
//1.本身是素数
//2.反转之后也是素数
//3.不能是回文
//素数() 反转() 回文功能()
public static boolean isFanZhuanSuShu(int num){
return isSuShu(num)&&isSuShu(reverse(num))&&!isHuiWen(num);
}
//回文功能
public static boolean isHuiWen(int num){
return reverse(num)==num;
}
//素数功能
public static boolean isSuShu(int num){
for(int i=2;i<=num/2;i++){
if(num%i==0){
return false;
}
}
return true;
}
//反转功能
public static int reverse(int num){
int sum=0;
while(true){
sum=sum*10+num%10;
num/=10;
if(num==0){
return sum;
}
}
}
}
import java.util.Scanner;
class Ds4_08{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.print("请用户输入一个字符串和一个字母:");
String str1=input.next();//接受用户所输入的字符串
char inputChar = input.next().charAt(0);//接受用户所输入的字母
System.out.println(count(str1,inputChar));
}
public static int count(String str,char a){
int count=0;//记录一个字符串中一个字母所出现的个数
char[] c=str.toCharArray();//将用户所传入的字符串转化成字符数组
for(int i=0;i<c.length;i++){
if(c[i]==a){
count++;
}
}
return count;
}
}
import java.util.Scanner;
class Ds4_09{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.print("Enter a string:");
String str=input.next();//接受用户所输入的字符串
/*String str1=" ";
char[] c=str.toCharArray();//将字符串转化成字符数组
for(int i=0;i<c.length;i++){
str1=str1+c[c.length-i-1];
}*/
System.out.print(fanXuShu(str));
}
public static String fanXuShu(String str){
String str1="";
char[] c=str.toCharArray();//将字符串转化成字符数组
for(int i=0;i<c.length;i++){
str1=str1+c[c.length-i-1];
}
return str1;
}
}
import java.util.Scanner;
class Ds4_10{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.print("Enter a string:");
String str1=input.nextLine();//接受用户所输入的字符串
System.out.println("The number of uppercase letters is:"+isBig(str1));
}
public static int isBig(String str){
int count=0;//记录大写字母的个数
char[] c=str.toCharArray();//将传入的字符串转化为数组
for(int i=0;i<c.length;i++){
if(c[i]>='A'&&c[i]<='Z'){
count++;
}
}
return count;
}
}
import java.util.Scanner;
class Ds4_12{
public static void main(String[] args){
Scanner input=new Scanner(System.in);
System.out.print("请输入十六进制的字符串:");
String str=input.next();
System.out.println("转化之后的数值为:"+hextToDecimal(str));
}
public static int hextToDecimal(String hext){
int sum=0;
int temp=0,count=0;
char[] c=hext.toCharArray();
for(int i=0;i<c.length;i++){
if(c[c.length-i-1]>='0'&&c[c.length-i-1]<='9'){
sum=sum+(c[c.length-i-1]-'0')*(int)(Math.pow(16,count++));
//System.out.println("c[i]-'0'的数值为:"+(c[i]-'0'));
//System.out.println("sum的数值为:"+sum);
}else if(c[c.length-i-1]>='A'&&c[c.length-i-1]<='F'){
switch(c[c.length-i-1]){
case 'A': temp=10;break;
case 'B': temp=11;break;
case 'C': temp=12;break;
case 'D': temp=13;break;
case 'E': temp=14;break;
case 'F': temp=15;break;
}
sum=sum+temp*(int)Math.pow(16,count++);
//System.out.println("sum的数值为:"+sum);
}
}
return sum;
}
}