有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?
把这些数都输出出来,并且输出总共的个数。
public class test6 {
public static void main(String[] args) {
int sum = 0;
for (int x = 1; x <= 4; x++) {
for (int y = 1; y <= 4; y++) {
if(y == x){
continue; //此处是我的解题瓶颈,理解以后,思路立刻清晰明了
}
for (int z = 1; z <= 4; z++) {
if(z == x || z == y){
continue;
}else {
sum += 1;
System.out.println(x * 100 + y * 10 + z);
}
}
}
}
System.out.println("可以组成的数量是:" + sum);
}
}
/*分析以下需求,并用代码实现:
(1).键盘录入10个int类型的整数,把这10个整数存储到一个int类型的一维数组arr中。
(2).将arr数组中的内容反转
(3).定义一个方法:求该数组中元素的和,并计算出数组中元素为奇数的个数,并打印出来。
格式为:数组元素的和是100,数组中元素为奇数的个数是3个
(4).定义一个方法:输入一个整数,查看该整数是否在数组中存在。如果不存在,
则输出:该整数在数组中不存在。如果存在,则输出该整数在数组中存在的个数。
* */
public class test15 {
public static void main(String[] args) {
int[] arr = new int[10];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < arr.length; i++) {
System.out.print("给数组赋值:");
int s = sc.nextInt();
arr = s;
}
change(arr);
printArray(arr);
print(arr);
isHave(5, arr);
}
public static void change(int[] arr) {
for (int min = 0, max = arr.length - 1; min < max; min++, max--) {
int temp = arr[min];
arr[min] = arr[max];
arr[max] = temp;
}
}
public static void printArray(int[] arr) {//打印数组的方法
for (int i = 0; i < arr.length; i++) {
System.out.println(arr);
}
}
//求该数组中元素的和,并计算出数组中元素为奇数的个数,并打印出来。
public static void print(int[] arr) {
int sum1 = 0;//数组中元素的和
int sum2 = 0;//元素为奇数的个数
for (int i = 0; i < arr.length; i++) {
sum1 += arr;
if (arr % 2 == 1) {
sum2 += 1;
}
}
System.out.println("数组元素的和是" + sum1);
System.out.println("数组中元素为奇数的个数是:" + sum2);
}
//定义一个方法:输入一个整数,查看该整数是否在数组中存在。如果不存在,
// 则输出:该整数在数组中不存在。如果存在,则输出该整数在数组中存在的个数。
public static void isHave(int num, int[] arr) {
int sum = 0; //num在数组中存在的个数
for (int i = 0; i < arr.length; i++) {
if (arr == num) {
sum += 1;
}
}
if (sum == 0) {
System.out.println("该整数在数组中不存在");
}else{
System.out.println(sum);
}
}
}import java.util.Scanner;
/*键盘录入任意一个整数,程序能输出这个数的位数。例如输入123 输出:123是一个3位数
* */
public class test10 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入想要查询的整数:");
int s = sc.nextInt( );
int sum = 1;
if(s >= 0) {
while (s / 10 > 0) { //个人是这么解题的,没有见过标准答案,不知合理不,测试都是合适的
sum += 1;
s = s / 10 ;
}
}
System.out.println(sum);
System.out.println( "输入的是一个"+ sum + "位数");
}
}
|
|