如何跳出多重循环
给当前循环起名,最后通过break跳出。
loop:for(int i=0;i<10;i++) {
for(int j=0;j<10;j++) {
System.out.println("i="+i+",j="+j);
if(i==5 && j==5) {
break loop;
}
}
}
判断5位数字是否是回文
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入next接受的内容");
String str1 = input.next();
if (isHui(str1)==true) {
System.out.println("所输入是回文");
}
else {
System.out.println("所输入不是回文");
}
}
public static boolean isHui(String s) {
boolean flag = false;
char a[] = new char[s.length()];
for (int i = 0; i < s.length(); i++) {
a[i] = s.charAt(i);
}
for (int i = 0; i < s.length() / 2 + 1; i++) {
if (a[i] != a[s.length() - i - 1]) {
return flag;
}
}
flag = true;
return flag;
}
交换变量值(不借助中间变量)
public static void main(String[] args){
int a = 3;
int b = 4;
a = a+b;
b = a-b;
a= a-b;
System.out.println("a="+a+",b="+b);
}
数组的创建
常用定义方式
//常用格式1,创建数组的同时,制定数组中的内容
//数据类型[] 数组名称={数据,数据2...};
int[] ages = {10,11,12,13};
//常用格式2.创建数组,并指定长度,不指定数组中内容
//数据类型[] 数组名称 = new 数组类型[数组长度];
int[] ages2 = new int[10];
不常用定义方式
//创建数组,不初始化
//格式: 数据类型[] 数组名
int[] nums;
nums = new int[10];
//创建数组,并指定数组中的内容
//格式: 数据类型[] 数组名称 = new 数据类型[]{内容1.内容2,..};
int ages = new int[] {11,12,13,14};
Java输入任意长度数组
待更新
实现数组排序并将零后置
public static void main(String[] args) {
System.out.println("输入数组长度");
Scanner scan = new Scanner(System.in);
int nums = scan.nextInt();
System.out.println("输入数组");
int array[] = new int[nums];
for (int i = 0;i<nums;i++) {
Scanner scan2 = new Scanner(System.in);
int ar = scan2.nextInt();
array[i] = ar;
}
bubbleSort(array);
int nonzero = 0;
for (int i = 0;i<nums;i++) {
if(array[i]==0) {
continue;
}
array[nonzero] = array[i]; //将数组给新的顺序,去掉零
nonzero++; //计算非零元素个数
}
for (int i =nonzero;i<nums;i++) { //将零添加到数组最后
array[i] = 0;
}
for (int i = 0;i<nums;i++) {
System.out.println(array[i]);
}
}
public static int[] bubbleSort(int[] array) {
if (array.length == 0)
return array;
for (int i = 0; i < array.length; i++)
for (int j = 0; j < array.length - 1 - i; j++)
if (array[j + 1] < array[j]) {
int temp = array[j + 1];
array[j + 1] = array[j];
array[j] = temp;
}
return array;
}
}
两数之和
public static void main(String[] args) {
int nums[] = {1,32,42,55,23,67};
System.out.println("输入目标数字");
Scanner scan =new Scanner(System.in);
int input =scan.nextInt();
int counter = 0;
for (int i=0;i<nums.length;i++) {
for (int j=1;j<nums.length-i;j++) {
if(nums[i]+nums[j]!=input) {
counter++;
if(counter == 15) {
System.out.println("不存在这两个数");
}
else continue;
}
else {
System.out.println("下标为"+i+"和"+j);
}
}
}
}
}
找出数组最值
public static void main(String[] args) {
// 定义一个数组
int nums[] = new int[10];
System.out.println("输入十个数字");
for (int i=0;i<10;i++) {
Scanner scan = new Scanner(System.in);
nums[i] = scan.nextInt();
}
// 定义一个int类型的变量的数组并赋值0;
int max = nums[0];
int min = nums[0];
// for循环遍历数组,判断数组长度
for (int i = 0; i < nums.length; i++) {
// 定义一个if条件判断定义的数组
if (max < nums[i]) {
max = nums[i];
}
}
for (int i = 0; i < nums.length; i++) {
// 定义一个if条件判断定义的数组
if (min > nums[i]) {
min = nums[i];
}
}
System.out.println("max的值是:" + max);
System.out.println("min的值是:" + min);
}public static void main(String[] args) {
// 定义一个数组
int nums[] = new int[10];
System.out.println("输入十个数字");
for (int i=0;i<10;i++) {
Scanner scan = new Scanner(System.in);
nums[i] = scan.nextInt();
}
// 定义一个int类型的变量的数组并赋值0;
int max = nums[0];
int min = nums[0];
// for循环遍历数组,判断数组长度
for (int i = 0; i < nums.length; i++) {
// 定义一个if条件判断定义的数组
if (max < nums[i]) {
max = nums[i];
}
}
for (int i = 0; i < nums.length; i++) {
// 定义一个if条件判断定义的数组
if (min > nums[i]) {
min = nums[i];
}
}
System.out.println("max的值是:" + max);
System.out.println("min的值是:" + min);
}