【程序37】
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
import java.util.Scanner;
public class Ex37 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
boolean[] arr = new boolean[n];
for(int i=0; i
arr[i] = true;//下标为TRUE时说明还在圈里
}
int leftCount = n;
int countNum = 0;
int index = 0;
while(leftCount > 1) {
if(arr[index] == true) {//当在圈里时
countNum ++; //报数递加
if(countNum == 3) {//报道3时
countNum =0;//从零开始继续报数
arr[index] = false;//此人退出圈子
leftCount --;//剩余人数减一
}
}
index ++;//每报一次数,下标加一
if(index == n) {//是循环数数,当下标大于n时,说明已经数了一圈,
index = 0;//将下标设为零重新开始。
}
}
for(int i=0; i
if(arr[i] == true) {
System.out.println(i);
}
}
}
}
【程序38】
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
import java.util.Scanner;
public class Ex38 {
public static void main(String [] args){
Scanner s = new Scanner(System.in);
System.out.println("请输入一个字符串");
String mys= s.next();
System.out.println(str_len(mys));
}
public static int str_len(String x){
return x.length();
}
}
分享到:
相关推荐
这40道经典算法题涵盖了Java编程中常见的算法类型,通过实践和理解这些题目,可以显著提升编程能力,为解决实际问题打下坚实基础。无论是初学者还是经验丰富的开发者,都应该定期练习,以保持对算法的敏感性和熟练度...
以下是一些热门的Java算法面试题及其详细解释: 1. **双指针问题**:常用于解决数组相关的问题,如寻找两个数之和等于目标值,或者在有序数组中查找重复元素等。通过维护两个指针,一个从左向右移动,另一个从右向...
### Java算法练习题知识点解析 #### 1. 斐波那契数列 - **描述**:编写一个程序,计算斐波那契数列的前N项。 - **实现思路**: - 使用循环结构(如`for`循环)来依次计算每一项的值。 - 设置两个变量分别存储...
总结来说,Java算法与编程面试题主要考察的是程序员对于正则表达式的理解与应用,以及文件操作的能力。掌握这些知识点不仅能帮助求职者顺利通过面试,而且在实际工作中也非常重要,因为它们是许多日常编程任务的基础...
JAVA算法40题练习 本资源涵盖了 JAVA 语言中常用的算法,包括古典问题的解决、素数判断、水仙花数的输出、函数编写、质因数分解、条件运算符的使用、最大公约数和最小公倍数的求解、字符统计、数列求和、完数判断、...
这篇“Java经典面试50题”文档可能涵盖了各种核心概念、语法、框架以及实际应用的问题。在准备Java面试时,了解这些常见问题和答案至关重要。以下是根据标题和描述推测的一些可能涵盖的知识点: 1. **基础语法**:...
### Java面试中的算法知识点详解 #### 快速排序算法Java实现 **1. 算法概念** 快速排序是冒泡排序的一种优化版本,由C.A.R. Hoare于1962年提出。它是一种非常高效的排序算法,通常比其他O(n log n)排序算法更快,...
Java编程练习题19、20涉及到文件和输入/输出操作。这些题目考核了程序员对文件和输入/输出操作的掌握程度。 知识点7: 数学运算 Java编程练习题21、22、23涉及到数学运算,如素数、平方和、阶乘等。这些题目考核了...
分布式全局唯一ID生成算法,
算法提取: 0.页码显示规则: 当前页为首页时不显示上一页; 上一页 1 2 3 … 20 下一页 当前页为尾页时不显示下一页; 上一页 1 … 17 18 19 20 下一页 1.页面总数(n) 显示全部页码:上一页 1 2 3 4 5 6 7 8...
为了更好地理解和掌握Java,面试中经常会遇到一些经典理论问题。以下是一些关键知识点的详细解释: 1. **常用类、包和接口**:Java的核心库中包含了许多重要的类、包和接口,如`String`、`ArrayList`、`HashMap`、`...
│ Java面试题19.forward和redirect的区别.mp4 │ Java面试题20.jsp和Servlet的相同点和不同点?.mp4 │ Java面试题21.内置对象和四大作用域和页面传值.mp4 │ Java面试题22.Session和Cookie的区别.mp4 │ Java面试...
本资源"java经典程序300例源代码16-19章"聚焦于Java的核心特性及实际应用,旨在帮助学习者通过实例深入理解Java编程。由于文件过大,所以被分成了四个部分进行上传,即16-19章的源代码。 16章可能涉及的是高级数据...
19. Java中理论上会存在内存泄漏,主要发生在非静态内部类持有外部类实例、长生命周期集合持有临时对象引用等情况下。 20. 在abstract方法上使用static、native或synchronized修饰符是不允许的,因为abstract方法是...
### 关于C、Java算法的练习题解析 #### 练习题概述 这份文档提供了48道关于算法的练习题,适用于学习C语言、Java、C#等编程语言的学习者进行算法训练。这些题目覆盖了从基础到进阶的各种算法问题,能够帮助学生更好...
#### 一、Java算法简介与常见问题 - **知识点1:**Java中处理文件路径的技巧 - **描述:**如何在Java中正确处理包含".java"扩展名的文件路径。 - **示例代码解析:** ```java String filePath = ".\\src\\...
### Java 循环练习40题知识点概览 #### 题目1:斐波那契数列 - **知识点**: - 斐波那契数列的定义及其生成方式。 - 使用循环结构(如`for`或`while`循环)来计算斐波那契数列。 #### 题目2:判断素数 - **知识...
### Java经典面试题知识点解析 #### 1. super()与this()的区别? - **super()**:用于调用父类的构造方法。在一个子类的构造方法中,如果要调用父类的构造方法,必须使用`super()`,并且这个调用语句必须放在子类...
### Java经典面试题知识点梳理 #### J2SE基础 1. **九种基本数据类型的大小,及其封装类**: - Java提供了八种基本数据类型(`byte`, `short`, `int`, `long`, `float`, `double`, `boolean`, `char`),每种类型...
19_二叉树(4).flv 20_位运算(1).flv 21_位运算(2).flv 22_排列组合(1).flv 23_排列组合(2).flv 24_概率(1).flv 25_概率(2).flv 26_队列和栈(2).flv 27_大数据(1).flv 28_大数据(2).flv 29_动态...