------- android培训、java培训、期待与您交流! ----------
1、判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
1、判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
package cn.itheima;
public class Test01 {
/**
*第一题: 判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,
* "aba"、"abba"、"aaa"、"mnanm"是对称字符串
* @param args
*/
/*
* 1.定义字符串
* 2.定义方法symm判断字符串是否对称
* 3.调用symm方法
*/
public static void main(String[] args) {
String str = "mnanm";
if(symm(str)){
System.out.println("对称");
}else{
System.out.println("不对称");
}
}
//判断字符串是否是对称字符串的方法
public static boolean symm(String str){
//定义一个变量n存储字符串长度
int n=str.length();
//遍历数组,判断数组内是否是对称的
for(int i=0;i
2、 什么情况下适合用UDP协议,什么情况下适合用TCP协议?
package cn.itheima;
public class Test02 {
/**
* 第二题:什么情况下适合用UDP协议,什么情况下适合用TCP协议?
* @param args
*/
/**
* 答案: UDP -- 面向无连接协议(如寄东西)
通信双方不需要连接
不需要连接,不可靠,丢数据
连接效率很高
不允许传输大数据,限制在64KB以内
TCP -- 面向连接协议(如打电话)
通信双方需要建立连接,三次握手,效率比UDP底下
连接,安全可靠协议,不丢失数据
适合于大数据传输
*/
}
3、 编写程序计算12+22+32+....+1002的和
package cn.itheima;
public class Test03 {
/**
* 第三题:编写程序计算12+22+32+....+1002的和
* @param args
*/
public static void main(String[] args) {
//调用sum方法
System.out.println(sum(12,1002));
}
//定义sum方法,定义两个参数a,b
private static int sum(int a,int b){
//定义sum做最后返回值的结果
int sum = 0;
//for循环,用累加计算最后结果
for (int i = a; i <=b; i+=10) {
sum += i;
}
//返回sum
return sum;
}
}
4、 编写一个函数,函数内输出一个字符串,并在主函数内调用它
package cn.itheima;
public class Test04 {
/**
* 第四题:编写一个函数,函数内输出一个字符串,并在主函数内调用它
* @param args
*/
/*
* 1.定义一个方法func
* 2.使用主函数调用方法func
*/
public static void main(String[] args) {
//调用函数
func();
}
public static void func()
{ //定义函数
System.out.println("Hello");
}
}
5、 用控制台程序倒着输出九九乘法表;输出结果按下图所示:
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
……
1*3=3 2*3=6 3*3=9
1*2=2 2*2=4
1*1=1
package cn.itheima;
public class Test05 {
/**
* 第五题:用控制台程序倒着输出九九乘法表;输出结果按下图所示:
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
……
1*3=3 2*3=6 3*3=9
1*2=2 2*2=4
1*1=1
* @param args
*/
/* 1.定义一个方法mult
* 2.方法内用for循环
* 3.调用方法mult
*/
public static void main(String[] args) {
mult();
}
public static void mult(){
//嵌套循环
for (int i = 9; i >= 1; i--) {
for (int j = 1; j <= i; j++) {
//输出结果
System.out.print(j+"*"+i+"="+i*j+" ");
//换行操作
}System.out.println();
}
}
}
6、 编程打印所有的3位质数,质数特点:只能被1和其本身整除
package cn.itheima;
public class Test06 {
/**
* 第六题:编程打印所有的3位质数,质数特点:只能被1和其本身整除
* @param args
*/
/*
* 1.所有的数都可以被1和其本 身整除
* 2.遍历所有可以被整除的数然后判断整除的次数小于2次的就是质数
*/
public static void main(String[] args) {
zhishu(100,999);
}
public static void zhishu(int a,int b){
//三位质数从100开始到999结束。
for(int i = a; i <= b; i++ ) {
int count = 0;
for(int j = 1; j < (i + 2)/2; j++ ) {
// 将 i 依次除以 1 到 [(i + 2)/2]
// 计算其整除的次数
if((i % j) == 0) count++;
}
// 如果只有一次整除,那么该数为素数
if(count < 2)
System.out.println(i + "是质数");
}
}
}
7、 编写一个可以获取文件扩展名的函数,形参接收一个文件名字符串,返回一个扩展名字符串
package cn.itheima;
import java.io.*;
public class Test07 {
/**
* 第七题:编写一个可以获取文件扩展名的函数,形参接收一个文件名字符串,返回一个扩展名字符串
* @param args
*/
/*
* 分析:
* 1、定义一个静态的getName方法,形参File类型 ,参数file
* 2、获取到文件扩展名之前的.的位置
* 3、使用substring(int beginIndex)
*
*/
public static void main(String[] args)throws Exception {
File file=new File("D:\\yays.jsjs.txt");
getName(file);
}
//定义函数返回文件扩展名
public static void getName(File file){
//获取接收到的文件的名字
String name=file.getName();
//使用lastIndexof获取文件的扩展名
String tz=name.substring(name.lastIndexOf(".")+1);
System.out.println("文件名为"+name+"拓展名为:"+tz);
}
}
8、 编写一个延迟加载的单例设计模式
package cn.itheima;
public class Test08 {
/**
* 第八题:编写一个延迟加载的单例设计模式
* @param args
*/
/*
* 1.给该类构造函数用private修饰,保证用户不能通过new()的方式创建对象。
* 2.在类中,创建一个私有并且静态的对象,保证用户不能通过直接访问,但类中的静态函数可以访问。
* 3.创建一个public的静态函数,返回该对象,供使用。
*/
public static void main(String[] args) {//主函数
//定义变量s1,s2,并调用学生类中方法
Student s1 = Student.getInstance();
Student s2 = Student.getInstance();
s1.setAge(5);
System.out.println(s2.getAge());
}
}
class Student{
//自定义对象,并私有化
private static Student s = null;
//私有化构造函数,避免多建对象
private Student(){}
private int age;
//setAge getAge方法
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
//访问方式并双重IF判断
public static Student getInstance(){
if(s==null){
//同步代码块,确保只new了一个对象
synchronized(Student.class) {
if(s==null)
//创建对象
s = new Student();
}
}
//返回S
return s;
}
}
9、 求1000!的结果中包含多少个0?注:1000! = 1×2×3×4×5×...×999×1000
package cn.itheima;
public class Test09 {
/**
* 第九题:求1000!的结果中包含多少个0?注:1000! = 1×2×3×4×5×...×999×1000
* @param args
*/
/* 1.用递归自身调用函数除以5
* 2.算出5的个数
*
*/
public static void main(String ars[]){
//定义变量num计算5 的个数
int num = getZero(1000);
//输出结果
System.out.println(num);
}
//定义方法
public static int getZero(int num) {
//使用判断语句并使用递归自身调用方法求出5的个数
if(num >= 1 && num <= 4) {
return 0;
}else {
return num / 5 + getZero(num / 5);
}
}
}
10、 小明的妈妈每天会给他20元零花钱。平日里,小明先花掉一半,再把一半存起来。每到周日,小明拿到钱后会把所有零花钱花掉一半。请编程计算,从周一开始,小明需要多少天才能存够100元?
package cn.itheima;
public class Test10 {
/** 第十题: 小明的妈妈每天会给他20元零花钱。
* 平日里,小明先花掉一半,再把一半存起来。
* 每到周日,小明拿到钱后会把所有零花钱花掉一半。
* 请编程计算,从周一开始,小明需要多少天才能存够100元?
*/
//思路: 1、if语句判断
public static void main(String[] args) {
int d = day(100);//调用方法
System.out.println(d);
}
//定义方法,使用if()else并返回天数
private static int day(int sum){
int m = 0;//定义变量m做判断条件
int d = 0;//定义天数做累加
while(m
更多推荐
黑马程序员_基础测试题
发布评论