用1、2、2、3、4、5这六个数字,用java写一个main函数,
打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,
"3"与"5"不能相连。
import java.util.ArrayList;
import java.util.List;
public class GetAll {
List list=new ArrayList();
public GetAll(){
list.add("22");
}
public void AllOrder(String str){
List listlin=new ArrayList();
for(int i=0;i<list.size();i++){
String nstr=(String )list.get(i);
nstr=str+nstr;
String cmpstr=nstr;
listlin.add(nstr);
nstr=ChangeStr(nstr);
while(!cmpstr.equals(nstr)){
listlin.add(nstr);
nstr=ChangeStr(nstr);
}
}
list.clear();
list.addAll(listlin);
}
public void OutAll(){
//过虑
for(int j=0;j<list.size();j++){
String outstr=(String)list.get(j);
if((outstr.indexOf("3")+1==outstr.indexOf("5")) || (outstr.indexOf("3")-1==outstr.indexOf("5"))||(outstr.indexOf("4")==2))
continue;
System.out.println("-----------"+outstr);
}
}
public String ChangeStr(String str){
char arr[]=str.toCharArray();
char first=arr[0];
str=str.substring(1,str.length())+first;
return str;
}
public static void main(String args[]){
GetAll getall=new GetAll();
getall.AllOrder("1");
getall.AllOrder("3");
getall.AllOrder("4");
getall.AllOrder("5");
getall.OutAll();
}
}
分享到:
相关推荐
面试题包含了不同技术层面的面试问题,同时也能对一些没有面试开发经验的小白给予不可估量的包装, 让你的薪水绝对翻倍, 本人亲试有效.Java面试题84集、java面试专属及面试必问课程,所有的面试题有视屏讲解, 解答方案....
以下是对标题和描述中涉及的一些常见Java面试题的详细解释: 1. **JDK 和 JRE 的区别** JDK(Java Development Kit)是用于开发和调试Java程序的完整工具集,包括JRE(Java Runtime Environment)、编译器(javac...
在准备2022年的Java面试时,了解和掌握关键知识点是至关重要的。Java作为一款广泛应用的后端开发语言,其面试通常会涵盖基础语法、面向对象编程、集合框架、多线程、JVM内存管理、数据库交互以及开源框架等方面。...
为了在Java面试中脱颖而出,了解和掌握常见的面试题及答案至关重要。以下是一些关键知识点的详细解析: 1. **super()与 this()的区别** `super()`用于调用父类的构造器,确保子类实例化时父类的初始化;`this()`则...
以上只是Java面试题和练习题的一部分,实际涵盖的内容会更广泛,包括JVM内存模型、设计模式、Spring框架、数据库操作等。通过系统学习和实践这些知识点,不仅能提高面试成功率,还能使你在Java开发领域更加专业。
抽象类可以有方法实现,但至少包含一个抽象方法。理解它们在设计模式中的应用。 4. **异常处理**:理解Checked异常和Unchecked异常的区别,学习如何使用try-catch-finally语句块进行异常捕获和处理。 5. **集合...
"Java面试笔试题大汇总(最全+详细答案)"这份资料提供了全面的Java面试题及解答,旨在帮助求职者充分准备,提高面试成功率。 首先,Java的基础知识是任何面试的基础。这包括Java语言的基本语法,如变量、数据类型、...
这些知识点构成了一个Java工程师面试的核心部分,每个主题都可以深入探讨,需要不断学习和实践以提升自己的技术水平。文档《java面试宝典.docx》应该包含更详尽的问题和答案,可以帮助你准备面试。
### 2017最新Java面试题知识点梳理 #### 一、面向对象编程(OOP) 面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,它使用“对象”的概念来组织代码结构。Java作为一种典型的面向对象语言,支持...
### Java经典面试题知识点 #### Java数据结构容器 - **核心知识点**:Java集合框架,包括List、Set、Map等接口及其实现类。List接口代表有序的集合,例如ArrayList和LinkedList;Set接口代表不允许重复元素的集合,...
从给定的文件信息中,我们可以提炼出一系列与北大青鸟JAVA面试相关的知识点,这些知识点涵盖了JAVA编程语言的基础概念、异常处理、面向对象特性、线程管理、内存管理以及垃圾回收机制等关键领域。下面是对这些知识点...
【程序2】是一个判断素数的程序。素数是指只能被1和它本身整除的大于1的自然数。该程序使用了一个双重循环,外层循环遍历101到200之间的所有奇数(因为偶数一定不是素数),内层循环用于判断当前数是否为素数。这里...
本文总结了Java面试题及答案,涵盖了Java基础、容器、多线程、反射、对象拷贝、JavaWeb、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/SpringCloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、...
Java程序员在面试中可能会遇到各种各样的问题,涵盖了语言基础、数据结构、并发编程等多个方面。下面我们将深入探讨这些知识点。 首先,对于Java语法规范,这是每个Java开发者的基础。这包括但不限于变量声明、数据...
JAVA经典算法面试39题及答案 本资源总结了39道经典的 JAVA 算法面试题目,每个题目都附带答案,涵盖了常见的算法问题,旨在帮助读者更好地掌握 JAVA 编程语言和算法设计。 算法概述 算法是计算机科学中最重要的...
这份"java面试笔试题集锦"涵盖了广泛的Java知识,对于准备面试或提升自身技能的开发者来说,是一份非常宝贵的资源。以下是根据标题、描述和标签提取的一些关键Java知识点: 1. **Java基础**:包括语法基础,如数据...
以上是对“JAVA面试题2019”中提及的一些核心知识点的总结,涵盖了项目介绍、Java基础知识、并发编程、Spring框架、Netty框架以及分布式系统等方面的知识点。这些知识点不仅对于准备Java面试至关重要,同时也是Java...
Java作为一门广泛使用的编程语言...而提供的两个PDF文件,"120个Java经典面试题和答案(上)"和"120个Java经典面试题和答案(下)",无疑是复习和准备面试的宝贵资源,可以系统地解答和理解Java面试中可能出现的问题。
Java面试题01.面试的整体流程 Java面试题02.java的垮平台原理 Java面试题03.搭建一个java的开发环境 Java面试题04.java中int占几个字节 Java面试题05.java面向对象的特征 Java面试题06.装箱和拆箱 Java面试题07.==和...