APP做网站,网站 动态内容加速,惠阳网站建设公司,万网代备案系统目录: Java算法题1. 编写Java程序#xff0c; 打印几个特定的ASCII码#xff0c;包括数组0和9,大写字母A和Z ,小写字母a和z2.编写程序#xff0c;对是哪个整型变量进行排序#xff0c;按照从小到大的顺序排列3.用if语句的嵌套#xff0c;根据学生成绩判断等级4.用switch语… 目录: Java算法题1. 编写Java程序 打印几个特定的ASCII码包括数组0和9,大写字母A和Z ,小写字母a和z2.编写程序对是哪个整型变量进行排序按照从小到大的顺序排列3.用if语句的嵌套根据学生成绩判断等级4.用switch语句根据传入的月份的参数显示该月有多少天。程序中假定2月份固定为28天不考虑闰年问题5.编写程序使用while循环计算123...100的值。6.编写程序计算11/31/51/7...1/(2×n1)的值。7.编写程序将32-126之间的95个字符显示在屏幕上。8.用for循环编写九九乘法表9.打印3~100之间的素数,每行打印6个数10.获得任意一个时间的下一天11.将某个时间以固定的格式转换为字符串12.编写一个截取字符串的函数输入一个字符串和字节数输出按字节数截取的字符串13.判断回文数14.输入一个数.且判断是不是斐波那契数15.输入五个数判断其最大值16.计算银行利息题目 ,本金10万元求什么年一共超过15万元17.输入一个正整数求各位数的数字之和18.求数列s1121231234... 123456789的前九项的和19.计算sum1-1/2!1/3!-... (-1)^(n-1)/n!20.输入一个数判断其是不是素数不断添加中… Java算法题
1. 编写Java程序 打印几个特定的ASCII码包括数组0和9,大写字母A和Z ,小写字母a和z
/*编写Java程序 打印几个特定的ASCII码包括数组0和9,大写字母A和Z ,小写字母a和z*/
public class PrintAscii {public void dispAscii(char ch) { //输入的字符int ascii (int) ch; //将字符转换为“ASCII码”System.out.println(ch的Ascii码是: ascii);}public static void main(String[] args) {PrintAscii pa new PrintAscii();pa.dispAscii(0); //48pa.dispAscii(9); //57pa.dispAscii(A); //65pa.dispAscii(Z); //90pa.dispAscii(a); //97pa.dispAscii(z); //122}
}2.编写程序对是哪个整型变量进行排序按照从小到大的顺序排列
/*编写程序对是哪个整型变量进行排序按照从小到大的顺序排列*/
public class SortABC {public static void main(String[] args) {int a 100, b 5, c 307;int t;if(ab){ta;ab;bt;}if(ac){ta;ac;ct;}if(bc){tb;bc;ct;}System.out.println(排序之后: aa, bb, cc);}
}3.用if语句的嵌套根据学生成绩判断等级
/*用if语句的嵌套根据学生成绩判断等级*/
public class IfDemo {public static void main(String[] args) {int score 95;String grade;if (score 90) {grade 优;}else if(score 80){grade 良;}else if(score 70){grade 中;}else if(score 60){grade 及格;}else {grade 不及格;}System.out.println(学生的成绩为: score);System.out.println(学生的等级为: grade);}
}4.用switch语句根据传入的月份的参数显示该月有多少天。程序中假定2月份固定为28天不考虑闰年问题
/*用switch语句根据传入的月份的参数显示该月有多少天。程序中假定2月份固定为28天不考虑闰年问题*/
public class SwitchDemo {public static void main(String[] args) {Scanner scanner new Scanner(System.in);System.out.println(请输入月份: );int month scanner.nextInt();int days 0;switch (month) {case 2 : days 30; break;case 4 : days 30; break;case 6 : days 30; break;case 9 : days 30; break;case 11 : days 30; break;default : days 31;}System.out.println(month月有days天);}
}5.编写程序使用while循环计算123…100的值。
/*编写程序使用while循环计算123...100的值*/
public class Sum100 {public static void main(String[] args) {int i 1;int sum 0;while (i 100) {sum i;i;}System.out.println(1到100的累加和是: sum);}
}6.编写程序计算11/31/51/7…1/(2×n1)的值。
/*编写程序计算11/31/51/7...1/(2×n1)的值。要求计算到1/(2×n1)小于0.00001时为止。当循环结束时显示上述表达式中的n值以及计算结果*/
public class DoWileDemo {public static void main(String[] args) {int n 1;double sum 1.0,temp;do {temp 1.0/(2*n1);sum temp;n;} while (temp 0.00001);System.out.println(循环结束时n的值为: (n-1));System.out.println(计算出来的结果是: sum);}
}7.编写程序将32-126之间的95个字符显示在屏幕上。
/*编写程序将32-126之间的95个字符显示在屏幕上。为了美观要求小于100的码值前填充一个0,每打印8个字符*/
public class ShowAscii {public static void main(String[] args) {String temp ;for (int i 32; i 126; i) {//如果码值小于100,则码值前会填充一个0temp i 100 ?(0i):(i);System.out.print(temp(char)i );if ((i - 31) % 8 0) {System.out.print(\n);}}}
}8.用for循环编写九九乘法表
/*用for循环编写九九乘法表*/
public class ChengFaBiao {public static void main(String[] args) {int i,j;for (i 1; i 9; i) {for (j 1; j i; j) {System.out.print(i*ji*j\t);}System.out.println(\n);}}
}9.打印3~100之间的素数,每行打印6个数
/*打印3~100之间的素数,每行打印6个数*/
public class SuSu {//素数 : 素数一般指质数。质数是指在大于1的自然数中除了1和它本身以外不再有其他因数的自然数public static void main(String[] args) {System.out.println(3~100之间的素数有: );boolean flag;int count 0; //统计素数的个数for (int i 3; i 100; i) {//先假定该数为素数flag true;for (int j 2; j i / 2; j) {if (i % j 0) {//能其其他数整除其不是素数flag false;break;}}if (flag) { //如果是素数则输出该素数System.out.print(i\t);count;if (count % 6 0) {System.out.println();}}}}
}10.获得任意一个时间的下一天
/*获得任意一个时间的下一天*/
public class NextDay {public static void main(String[] args) {/*java.util.Date类的底层实现是通过一个long类型的整型数据来保存日期这个值记录的是任何一个时间距1970年1月1日,0点0分0秒的毫秒数。*/Date now new Date(); //获得当前时间//打印下一天的时间System.out.println(getNextDate(now));}//获得下一天的时间private static Date getNextDate(Date d) {/*增加的时间为一天。一天有24小时,一小时有60分钟,一分钟有60秒,1秒为1000毫秒*/long addTime 1 * 24 * 60 * 60 * 1000; //表示一天时间的毫秒数System.out.println(addTime ---- );//用毫秒数构造新的日期Date date new Date(d.getTime() addTime);return date;}
}11.将某个时间以固定的格式转换为字符串
/*将某个时间以固定的格式转换为字符串*/
public class DateFormat {public static void main(String[] args) {//现在的时间Date now new Date();//打印现在时间的字符串格式System.out.println(dateFormatStr(now));}//将Date类型格式的时间转换为特定字符串格式的时间 的方法private static String dateFormatStr(Date now) {//定义字符串的格式SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);String str sdf.format(now);return str;}
}12.编写一个截取字符串的函数输入一个字符串和字节数输出按字节数截取的字符串 编写一个截取字符串的函数输入一个字符串和字节数输出按字节数截取的字符串。但要保证函数不被截半个如我ABC 4,应该截取 “我AB”输入“我ABC汉DEF” 6应该输出 “ABC”,而不是我ABC汉的半个。 试题分析: 容易产生混淆的是中文字符和英文字符。要注意的是: 中文字符占两个字节英文字符占一个字节。(此程序如果一个汉字被截取了1个字节的话是会被丢弃的) /*编写一个截取字符串的函数输入一个字符串和字节数输出按字节数截取的字符串。但要保证函数不被截半个如我ABC 4,应该截取 我AB输入“我ABC汉DEF” 6应该输出 “ABC”,而不是我ABC汉的半个。试题分析: 容易产生混淆的是中文字符和英文字符。要注意的是: 中文字符占两个字节英文字符占一个字节。(此程序如果一个汉字被截取了1个字节的话是会被丢弃的)*/
public class InterceptionStr { //此程序如果一个汉字被截取了1个字节的话是会被丢弃的。static String ss; //要进行截取操作的字符串static int n; //截取的字符串的字节数public static void main(String[] args) {System.out.println(请输入字符串: );Scanner sc1 new Scanner(System.in);ss sc1.next(); //将Scanner对象中的内容以字符串的形式取出来System.out.println(请输入字节数:);Scanner sc2 new Scanner(System.in);n sc2.nextInt(); //将Scanner对象中的内容以数值的形式取出来//调用截取字符串的方法interception(setValue()); //传给该方法的参数为: 一个字符串数组}/*将“字符串”转换为“字符串数组“*/public static String[] setValue() {//创建一个字符串数组String[] string new String[ss.length()];//将”字符串“中的每个字符取出且存入到字符串数组string中for (int i 0; i string.length; i) {//只包括i,不包括i1string[i] ss.substring(i, i1); //将字符串ss中的第i个字符取出,放入“字符串数组”中}return string; //将这个字符数组返回}/*截取字符串的方法*/public static void interception(String [] string) {int count 0;String pattern [\u4e00-\u9fa5]; //汉字的正则表达式System.out.println(以每 n 字节划分的字符串如下所示: );for (int i 0; i string.length; i) {//判断字符串数组中的每一个字符串是“汉字”还是“数字”//将字符数组中的每一个元素与正则表达式进行匹配如果相同则返回true,同时计算该要被截取的字符串ss的字节数: countif (string[i].matches(pattern)) {count count 2; //如果当前字符是汉字计时器count就2} else {count count 1; //如果当前字符不是汉字计时器count1}if (count n) { //如果当前计时器count的值小于n则输出当前字符串System.out.print(string[i]);} else if (count n) { //如果当前计时器count的值等于n则输出当前字符串System.out.print(string[i]);count 0; //因为一次截取n个字节,现在已经够了,重新开始截取下一次的n个字节System.out.println();} else {count 0; //如果当前计时器count的大于n。则计算器count清零接着执行外部循环System.out.println();}}}
}13.判断回文数 如何判断回文数。 有这样一类数它们顺着看和倒着看是相同的数该数即为回文数 例如: 121、656、2322这样的数字被称为回文数字。试题分析可以通过该数字倒置的位置栏判断它是否是回文数字。 /*如何判断回文数。有这样一类数它们顺着看和倒着看是相同的数该数即为回文数例如: 121、656、2322这样的数字被称为回文数字。试题分析可以通过该数字倒置的位置栏判断它是否是回文数字。*/
public class Palindrome {public static void main(String[] args) {int n;System.out.println(请输入一个整数: );Scanner scInt new Scanner(System.in);n scInt.nextInt();if (isPalindrome(n)) {System.out.println(n 是回文);} else {System.out.println(n 不是回文);}}//判断是不是回文数private static boolean isPalindrome(int n) {//调用方法将要判断的数进行倒置int m reverse(n);if (m n) { //如果不倒置数 倒置数,有其是回文数return true;} else {return false;}}//将传入的数进行倒置private static int reverse(int i) {int s, j 0;s i;while (s ! 0) {// *10 的原因: 倒置的话每次位数要升一级,自然要*10j (j * 10) (s % 10);s s / 10;}return j;}
}14.输入一个数.且判断是不是斐波那契数 Scanner in new Scanner (System.in);System.out.println(请输入一个整数:);int shuzhi in.nextInt();while (shuzhif1) {f3f1f2;f1f2;f2f3; //出现所有的Fibonacci数且让f2也当过所有的...数
}if (shuzhif2) {System.out.println(shuzhi是Fibonacci数);}elseSystem.out.println(shuzhi不是Fibonacci数);15.输入五个数判断其最大值
/** 思想设置max 和先输入一个数并设其为最大值然在循环语句中输入剩余的四个数符合条件则让它是最大值不是则继续循环输入数字。*/
import java.util.Scanner;
public class shijie {public static void main(String[] args) {Scanner in new Scanner(System.in);int soum1,max,x,weishu1;System.out.println(请输入一个数); soum1 in.nextInt();max soum1;while(weishu4){System.out.println(请输入一个数); x in.nextInt(); if(xmax){max x; }weishu;}System.out.println(最大值为 max); }
}16.计算银行利息题目 ,本金10万元求什么年一共超过15万元 int year 2018; float money 10l;while (money 15) {money * 1.04f;year;}System.out.println(超过的时间是: year );17.输入一个正整数求各位数的数字之和
//题目题目四输入一个正整数各位数的数字之和。
/** 原理先用求余%求出最后一位数的数--相加* -----有此效果的原因%后会有一个余数如789/1078...9(余9)那用上%号就收集此余数* 然后用除法 /删除刚刚已经用过的最后一位数-----* -----有此效果的原因/ 后由于整数求除的性质任何数10 就是有一个整数带加一个余数如789/1078...9(余9),结合整除小数点后没有内容就去掉了最后一位数**/
//声明的变量有weishu,sum;
import java.util.Scanner;
public class One {public static void main(String[] args) {Scanner in new Scanner(System.in);int weishu ,sum0,a;System.out.println(请输入一个数);weishu in.nextInt();while (weishu !0){ //输入的数不等于0才能继续操作//收集位数的最后一项且相加a weishu%10;sum sum a;//除去刚已用过的位数形成一个新的数weishu weishu/10;}System.out.println(各位数之和为 sum);}
}18.求数列s1121231234… 123456789的前九项的和
/*
求数列s1121231234... 123456789的前九项的和*/
public class One {public static void main(String[] args) {int sum 0 ,i 1,a 0 ;int weishu 9;while (iweishu) {a a*10i;sum a;i;}System.out.println(sum);}
}19.计算sum1-1/2!1/3!-… (-1)^(n-1)/n! /*计算sum1-1/2!1/3!-... (-1)^(n-1)/n!*/
import java.util.Scanner;
public class Demo {public static void main(String[] args) {Scanner in new Scanner (System.in);double z 0,x1; int y1,n;System.out.println(请输入一个数 );n in.nextInt();while (yn) {z zx;y y1;x x*(1.0/y);}System.out.println(sum: z );}
}
20.输入一个数判断其是不是素数
public class Demo {public static void main(String[] args) {Scanner in new Scanner (System.in);System.out.println(请输入一个数);int soum1 in.nextInt();boolean soum2 false;for (int i 2;isoum1;i) {if (soum1%i 0) {soum2 true;}}if (soum2) {System.out.println(此数不是素数);}else {System.out.println(此数是素数);}}
}不断添加中…