黑马程序员技术交流社区
标题:
java第四天作业
[打印本页]
作者:
gcno93
时间:
2016-8-30 23:15
标题:
java第四天作业
1.分析以下需求,并用代码实现:
(1)打印1到100之内的整数,但数字中包含9的要跳过
(2)每行输出5个满足条件的数,之间用空格分隔
(3)如:1 2 3 4 5
class Demo1 {
public static void main(String[] args) {
for (int i = 1,j = 1;i <= 100;i++,j++) {
if(i == 9 || i % 10 == 9){
j--;
continue;
}
System.out.print(i+"\t");
if(j % 5 == 0){
System.out.println();
}
}
}
}
2.分析以下需求,并用代码实现:
(1)按照从大到小的顺序输出四位数中的个位+百位=十位+千位(3553,2332,1166,8228,3773)的数字及个数
(2)每行输出5个满足条件的数,之间用空格分隔
(3)如:9999 9988 9977 9966 9955
class Demo1 {
public static void main(String[] args) {
int count=0;//存储个数的变量
for (int i = 9999;i >=1000 ;i--) {
int ge=i % 10;//获得个位
int shi=i / 10 %10;//获得十位
int bai=i / 10 / 10 %10;//获得百位
int qian=i / 10 / 10 / 10 ; //获得千位
//判断是否符合
if((ge+bai)==(shi+qian)){
count++;//个数增加
System.out.print(i+"\t");//输出
}else{
continue;//不成立退出本次循环
}
if(count % 5==0){//换行
System.out.println();
}
}
}
}
3.分析以下需求,并用代码实现:
(1)珠穆朗玛峰高度为8848米,有一张足够大的纸,厚度为0.001米。
(2)请问,我折叠多少次,可以折成珠穆朗玛峰的高度。
class Demo1 {
public static void main(String[] args) {
float houdu=0.001f;//纸厚度
int count=0;//折叠多少次
while(houdu<=8848){
houdu*=2;//进行折叠
count++;//添加折叠次数
}
System.out.println(count);//输出
}
}
4.分析以下需求,并用代码实现:
(1)倒着打印九九乘法表
class Demo1 {
public static void main(String[] args) {
//控制行
for (int i=9;i>=1 ;i--) {
//控制列
for (int j =i;j>=1 ;j-- ) {
System.out.print(i+"*"+ j+"="+(i*j)+"\t");//输出
}
System.out.println();//换行
}
}
}
5.分析以下需求,并用代码实现:
(1) 计算15+25+35+....+1005的和
class Demo1 {
public static void main(String[] args) {
int sum=0;//和
for (int i=15;i<=1005 ;i+=10 ) {
sum+=i;//相加
}
System.out.println(sum);//输出
}
}
6.分析以下需求,并用代码实现:
(1)打印倒直角三角形
*****
****
***
**
*
class Demo1 {
public static void main(String[] args) {
for (int i=5;i>=1 ;i-- ) {//控制行
for (int j=1;j<=i ;j++ ) {//控制列
System.out.print("*");//输出
}
System.out.println();//换行
}
}
}
7.分析以下需求,并用代码实现(每个小需求都要封装成一个方法):
(1)求两个数据之和(两个整数或者两个小数)
(2)判断两个数据是否相等(两个整数或者两个小数)
(3)获取两个数中较大的值(两个整数或者两个小数)
(4)打印m行n列的星形矩形
(5)打印nn乘法表
class Demo1 {
public static void main(String[] args) {
}
/*
*求两个数据之和(int)
*/
public static int sum(int num1,int num2){
return num1+num2;
}
/*
*求两个数据之和(double)
*/
public static double sum(double num1,double num2){
return num1+num2;
}
/*
*判断两个数据是否相等(int)
*/
public static boolean isEquals(int num1,int num2){
return num1==num2;
}
/*
*判断两个数据是否相等(double)
*/
public static boolean isEquals(double num1,double num2){
return num1==num2;
}
/*
*获取两个数中较大的值(int)
*/
public static int getMax(int num1,int num2){
return (num1>num2)?num1:num2;
}
/*
*获取两个数中较大的值(double)
*/
public static double getMax(double num1,double num2){
return (num1>num2)?num1:num2;
}
/*
*打印m行n列的星形矩形
*
*/
public static void printStarts(int m,int n){
for (int i=1;i<=m ;i++ ) {//控制行
for (int j=1; j<=m;j++ ) {//控制列
System.out.print("*");
}
System.out.println();//换行
}
}
/*
*打印nn乘法表
*/
public static void print99(int num1){
for (int i=1;i<=num1 ;i++) {
//控制列
for (int j =1;j<=i ;j++) {
System.out.print(i+"*"+ j+"="+(i*j)+"\t");//输出
}
System.out.println();//换行
}
}
}
8.把今天讲过的其他案例再练习一遍
作者:
Leaf_
时间:
2016-8-31 00:52
问阳哥
作者:
噜噜吧
时间:
2016-8-31 11:52
不错不错..........
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2