黑马程序员技术交流社区
标题:
思路是敲出来的
[打印本页]
作者:
王颖凯
时间:
2019-3-29 17:22
标题:
思路是敲出来的
有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 +
"位数"
)
;
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2