蓝桥杯备考

文章包含Java编程练习题,涉及循环控制(for、while)、字符串处理、集合数据结构(如set和list)、质数判定、排序算法(冒泡、选择、插入)、递归、动态规划、广度优先搜索(BFS)和深度优先搜索(DFS),以及二维数组操作和加密解码技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题型

10 题

  1. 填空题
  2. 代码题

前三道: 循环

  • for 循环 题目中找得到循环次数
  • while循环 知道循环条件找不到循环次数

同时涉及,集合,字符串等知识点的运用

  • 考察字符串常用函数
    字符串转字符数组,判断结尾
  • 集合考察特性
    list:有序可重复
    set:无序不可重复
    map:key-value键值对

循环

得到循环次数----for

19 java c 1

import java.util.*;

public class Main {
   

	public static void main(String[] args) {
   
		int cnt=0;
		for(int i=1;i<=2019;i++)
		{
   
			//将数字转化为字符串
			String s=i+"";
			//将字符串转化为字符数组 toCharArray()
			char[] cs=s.toCharArray();
			
			for(int k=0;k<cs.length;k++)
			{
   
				if(cs[k] == '0' || cs[k]=='1' || cs[k] =='2' ||cs[k]=='9')
				{
   
					cnt+=i;
					break;
				}
			}
			
		}
		System.out.print(cnt);
	}

}

15 Java c 2

// 注意这里选用long类型

public class Main {
   
/**
 * 一些数字立方的末尾刚好是该数字本身
 * 10^4以内的数字中,这样的数有多少个
 * @param args
 */
	public static void main(String[] args) {
   
		int cnt=0;
		String a="";
		String b="";
		
		for(long i=1;i<=10000;i++)
		{
   
			//将数字转化为字符串
			 a=i+"";
			 b=i*i*i+"";
			
			//判断b字符串是否以a结尾
			if(b.endsWith(a))
			{
   
				cnt++;
			}
			
		}
		
		System.out.println(cnt);


	}

}

得到循环条件----while

19 java c 2

public class Main {
   
/**
 * 一块矩形材料,每次从中间切最大的矩形,然后继续,求2019*324材料可以
 * 切出来多少个
 * @param args
 */
	public static void main(String[] args) {
   
		int a = 2019;
		int b = 324;
		
		int cnt=0;
		while(a != b)
		{
   
			if(a>b)
			{
   			
				a-=b;
				cnt++;
			}else if(b>a)
			{
   
				b-=a;
				cnt++;
			}
			
		}
		
		cnt++;
		System.out.print(cnt);
	}

}

18 Java C 1

public class Main {
   
/**
 * 第一天一元,之后每一天比前一天多两元,请计算第几天sum=108
 * @param args
 */
	public static void main(String[] args) {
   
		int day = 1;
		int a=1;
		int sum=1;
		
		while(sum<108)
		{
   
			a+=2;
			sum+=a;
			day++;
		}
		
		System.out.print(day);
	}

}

18 java C 2

注意: d要大于0

public class Main {
   
/**
 * 
 * @param args
 */
	public static void main(String[] args) {
   
		
		int n=5;
		while(true)
		{
   
			if(n%5==1)
			{
   
				int a=(n-1)/5*4;
				if(a%5==2)
				{
   
					int b=(a-2)/5*4;
					if(b%5==3)
					{
   
						int c=(b-3)/5*4;
						if(c%5==4)
						{
   
							int d=(c-4)/5*4;
							if( d%5 == 0 && d>0)
							{
   
								break ;
							}
						}
					}
				}
			}
			n++;
		}
		
		System.out.print(n);
	}

}

集合和字符串循环 ---- set

list 有序
set 唯一

19 Java C 3

public class Main {
   
/**
 * 字符串0100110001010001有多少个非空字串
 * substring(i,j)截取字符串
 * @param args
 */
	public 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值