第1关:将给定的整数进行由小至大排序
本关任务:补充程序中的代码,将给定的的三个整数进行由小至大排序。
package step4;
public class LianXi_Sort {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* 定义三个整数x,y,z,将这三个整数由小到大排序并输出。
* 例如定义 int x = 9; int y = 10; int z = 8; -- > x的值改成8 y的值改成9 z的值改成10
*
* 实现思路:通过if语句对x y z 的值进行匹配,比如x大于y则x和y进行数据交换
* */
java.util.Scanner sc = new java.util.Scanner(System.in);
//获取平台分配的x的值
int x = sc.nextInt();
//获取平台分配的y的值
int y = sc.nextInt();;
//获取平台分配的z的值
int z = sc.nextInt();;
/**********begin**********/
int temp;
if(x>y)
{
temp = x;
x = y;
y = temp;
}
if(x>z)
{
temp = x;
x = z;
z = temp;
}
if(y>z)
{
temp = y;
y = z;
z = temp;
}
/**********end**********/
System.out.print("x:"+x+" y:"+y+" z:"+z);
}
}
第2关:根据给定的不重复的四个正整数,组成无重复数字的三位数并输出
实现思路:
可以通过三层循环的方式,第一层循环用于控制百位数的变化,第二层循环用于控制十位数的变化,第三层循环用于控制个位数的变化。
由于题目要求百位数、十位数、个位数互不重复,因此可以在第三层循环中进行判断 如果 i 不等于j 并且 j不等于k 并且 i不等于k则进行数据的拼装并打印;
编程要求
根据提示,在右侧编辑器Begin-End处补充代码,将满足条件的三位数打印;
package step3;
public class LianXi {
public static void main(String[] args) {
/*
* 假设平台分配的四个整数为 1 2 3 4
* 那么百位有可能是 1 2 3 4 十位:有可能是 1 2 3 4 个位:有可能是 1 2 3 4,
* 要求是 百位 十位 各位上的数字不能重复
* 比如:123 124 132 134 等都满足条件
* 比如:122 131 121 232 等都不满足条件
*
* */
//定义长度为4的int数组
int[] array = new int[4];
//创建Scanner对象获取平台输入的信息
java.util.Scanner sc = new java.util.Scanner(System.in);
//获取平台给定的输入值并填充至数组中
for(int i=0;i<array.length;i++){
array[i] = sc.nextInt();
}
//通过第一层循环控制百位的数字 array[i]表示百位的值
for (int i = 0; i < array.length; i++) {
//通过第二层循环控制十位的数字 array[j]表示十位的值
for (int j = 0; j < array.length; j++) {
//通过第三层循环控制个位的数字 array[k]表示个位的值
for(int k = 0;k< array.length;k++) {
/**********begin**********/
if((i!=j)&&(j!=k)&&(i!=k))
{
int num=0;
num = array[i]*100+array[j]*10+array[k];
System.out.println(num);
}
/**********end**********/
}
}
}
}
}
第3关:通过for循环打印实心三角形
通过打印的实心三角形可以发现如下规律 下图中n
代表当前行号,sum
代表总的行数,当前行号与当前行需要打印的空格星星之间存在如下关系:
编程要求
根据提示,在右侧编辑器Begin-end
处补充代码,并按照指定的行数打印实心三角形。
package step1;
public class ShiXinSanJiaoXing
{
public static void main(String[] args)
{
//创建Scanner对象用于获取平台给定的输入信息
java.util.Scanner sc = new java.util.Scanner(System.in);
//定义需要打印的总行数
int lineNum = sc.nextInt();
/*
i(行号) 空格数量(lineNum-i) 星星数量 (2*i -1)
1 5 1
2 4 3
3 3 5
4 2 7
5 1 9
6 0 11
*/
//通过外循环控制需要打印的行数
for(int i=1;i<=lineNum;i++){
/**********begin**********/
//通过内循环(1)控制需要打印的空格
for(int j=0;j<lineNum-i;j++)
{
System.out.print(" ");
}
//通过内循环(2)控制需要打印的星星的数量
for(int k=0;k<2*i-1;k++)
{
System.out.print("*");
}
/**********end**********/
//当前行中的空格以及星星打印完成之后进行换行操作 \n表示换行
System.out.print("\n");
}
}
}
第4关:找出1至1000以内的质数
质数:只能被1和它本身整除的数,比如10以内的质数: 2 3 5 7,任何的偶数(除2以外)都是非质数以及奇数1不属于质数。
编程要求
根据提示,在右侧编辑器Begin-End处补充代码,将1至1000以内的质数打印输出,打印的时候务必按照如下格式: System.out.print(质数+" ");使用print进行打印同时被打印输出的质数后加上一个空格,以便于与平台提供的结果格式保持一致!
package step2;
public class FindZhiShu {
public static void main(String[] args) {
/*
打印输出质数的时候务必按照如下格式:System.out.print(质数+" ");
使用print进行打印同时被打印输出的质数后加上一个空格,
以便于与平台提供的结果格式保持一致!
*/
/**********begin**********/
int i,j;
int num;
for(i=1;i<=1000;i++)
{
for(j=2;j<i;j++)
{
if(i%j==0){
break;
}
}
if(i==j)
System.out.print(j+" ");
/**********end**********/
}
}
}