明解Java 第七章

7-1

import java.util.Scanner;

public class Main {

static int signOf(int n){

if(n>0)

return 1;

else if(n==0)

return 0;

else

return -1;

}

public static void main(String[] args) {

Scanner stdIn = new Scanner(System.in);

System.out.print("请输入整数:");

int n=stdIn.nextInt();

System.out.print(signOf(n));

}

7-2

import java.util.Scanner;

public class Main {

static int min(int a,int b,int c){

int min=a;

if(b<min) min=b;

if(c<min) min=c;

return min;

}

public static void main(String[] args) {

Scanner stdIn = new Scanner(System.in);

System.out.print("整数a:");

int a=stdIn.nextInt();

System.out.print("整数b:");

int b=stdIn.nextInt();

System.out.print("整数c:");

int c=stdIn.nextInt();

System.out.print(min(a,b,c));

}

}

7-3

import java.util.Scanner;

public class Main {

static int med(int a,int b,int c){

int min=a;

if(b<min) min=b;

if(c<min) min=c;

int max=a;

if(b>max) max=b;

if(c>max) max=c;

int med=a+b+c-max-min;

return med;

}

public static void main(String[] args) {

Scanner stdIn = new Scanner(System.in);

System.out.print("整数a:");

int a=stdIn.nextInt();

System.out.print("整数b:");

int b=stdIn.nextInt();

System.out.print("整数c:");

int c=stdIn.nextInt();

System.out.print(med(a,b,c));

}

}

7-4

import java.util.Scanner;

public class Main {

static int sumUp(int n){

int sum=0;

for(int i=1;i<=n;i++){

sum+=i;

}

return sum;

}

public static void main(String[] args) {

Scanner stdIn = new Scanner(System.in);

System.out.print("整数:");

int n=stdIn.nextInt();

System.out.print(sumUp(n));

}

}

7-5

import java.util.Scanner;
public class Main {
static void hello(){
System.out.print("您好。");
}
public static void main(String[] args) {
hello();
}
}

7-6

import java.util.Scanner;

public class Main {

static void printSeason(int m) {

switch (m) {

            case 3:

            case 4:

            case 5:

                System.out.print("春天"); break;

            case 6:

            case 7:

            case 8:

                System.out.print("夏天");break;

            case 9:

            case 10:

            case 11:

                System.out.print("秋天"); break;

            case 12:

            case 1:

            case 2:

                System.out.print("冬天");break;

            default:

                System.out.print("输入的月份无效");

                break;

        }

    }

public static void main(String[] args) {

Scanner stdIn = new Scanner(System.in);

System.out.print("整数:");

int m = stdIn.nextInt();

printSeason(m);

    }

}

7-7

import java.util.Scanner;

public class Main {

static void putChars(char c,int n){

while(n-->0)

System.out.print(c);

}

public static void main(String[] args) {

Scanner stdIn = new Scanner(System.in);

System.out.println("显示直角在左下方的三角形。");

System.out.print("层数:");

int n=stdIn.nextInt();

for(int i=1;i<=n;i++){

putChars('*',i);

putChars(' ',n-i);

System.out.println();

}

}

}

7-8

import java.util.Scanner;

import java.util.Random;

public class Main {

static int random(int a,int b) {

Random rand = new Random();

if (b < a) {

return a;

}

return rand.nextInt(b - a) + a;

}

public static void main(String[] args) {

Scanner stdIn = new Scanner(System.in);

System.out.print("整数a:");

int a = stdIn.nextInt();

System.out.print("整数b:");

int b = stdIn.nextInt();

int result = random(a, b);

System.out.print(result);

}

}

7-9

import java.util.Scanner;

public class Main {

static int readPlusInt() {

Scanner stdIn = new Scanner(System.in);

int n;

do {

System.out.print("正整数值:");

n=stdIn.nextInt();

} while (n<=0);

return n;

}

public static void main(String[] args) {

System.out.print(readPlusInt());

}

}

7-10

import java.util.Scanner;
import java.util.Random;
public class Main {
static Scanner stdIn = new Scanner(System.in);
static boolean confirmRetry() {
int n;
do {
System.out.print("再来一次?Yes...1/No...0: ");
n = stdIn.nextInt();
} while (n != 0 && n != 1);
return n == 1;
}
public static void main(String[] args) {
Random rand = new Random();
do {
int x = rand.nextInt(900) + 100;
int y = rand.nextInt(900) + 100;
int z = rand.nextInt(900) + 100;
int operation = rand.nextInt(4);
int result = 0;
String operator = "";
if (operation == 0) {

result = x + y + z;

operator1 = "+";

operator1 = "+";

} else if (operation == 1) {

result = x + y - z;

operator1 = "+";

operator1 = "-";

} else if (operation == 2) {

result = x - y + z;

operator1 = "-";

operator2 = "+";

} else if (operation == 3) {

result = x - y - z;

operator1 = "-";

operator2 = "-";

}

while (true) {

System.out.print(x + operator1 + y + operator2 + z + " = ");
int answer = stdIn.nextInt();
if (answer == result) {
System.out.println("回答正确!");
break;
}
System.out.println("回答错误!");
}
} while (confirmRetry());
}
}

7-11

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner stdIn=new Scanner(System.in);

System.out.print("整数:");

int x=stdIn.nextInt();

System.out.print("移动的位数:");

int y=stdIn.nextInt();

int n1=x << y;

System.out.println("左移后"+(x << y));

int n2=x >>> y;

System.out.println("右移后"+(x >> >y));

int powMultiply,powDivide;

for(int i=0;;i++) {

powMultiply = x * (int) Math.pow(2, i);

powDivide = x / (int) Math.pow(2, i);

while(n1==powMultiply&&n2==powDivide){

System.out.println("结果相等");

}

break;

}

}

}

7-12

import java.util.Scanner;
public class Main {
static int rRotate(int x,int n){
int rBits1=x>>>n;
int rBits2=x<<(32-n);
return rBits1|rBits2 ;
}
static int lRotate(int x,int n){
int lBits1=x<<n;
int lBits2=x>>>(32-n);
return lBits1|lBits2;
}
public static void main(String[] args) {
Scanner stdIn=new Scanner(System.in);
System.out.print("整数:");
int x=stdIn.nextInt();
System.out.print("移动的位数:");
int y=stdIn.nextInt();
int right=rRotate(x,y);
int left=lRotate(x,y);
System.out.println("向右旋转"+x+"位后的值"+right);
System.out.println("向左旋转"+x+"位后的值"+left);
}
}

7-13

import java.util.Scanner;

public class Main {

static int set(int x,int pos){

int mask=1<<pos;

return x|mask;

}

static int reset(int x,int pos){

int mask=0<<pos;

return x&mask;

}

static int inverse(int x,int pos){

int mask=1<<pos;

return x^mask;

}

public static void main(String[] args) {

Scanner stdIn=new Scanner(System.in);

System.out.print("整数:");

int x=stdIn.nextInt();

System.out.print("第pos位:");

int y=stdIn.nextInt();

int setResult=set(x,y);

int resetResult=reset(x,y);

int inverseResult=inverse(x,y);

System.out.println("setResult:"+setResult);

System.out.println("resetResult:"+resetResult);

System.out.println("inverseResult:"+inverseResult);

}

}

7-14

import java.util.Scanner;
public class Main {
static int setN(int x,int pos,int n){
int mask=((1<<n)-1)<<pos;
return x|mask;
}
static int resetN(int x,int pos,int n){
int mask=((1<<n)-1)<<pos;
mask=~mask;
return x&mask;
}
static int inverseN(int x,int pos,int n){
int mask=((1<<n)-1)<<pos;
return x^mask;
}
public static void main(String[] args) {
Scanner stdIn=new Scanner(System.in);
System.out.print("整数:");
int x=stdIn.nextInt();
System.out.print("第pos位:");
int y=stdIn.nextInt();
System.out.print("第n位:");
int n=stdIn.nextInt();
int setResult=setN(x,y,n);
int resetResult=resetN(x,y,n);
int inverseResult=inverseN(x,y,n);
System.out.println("setResult:"+setResult);
System.out.println("resetResult:"+resetResult);
System.out.println("inverseResult:"+inverseResult);
}
}

7-15

import java.util.Scanner;

import java.util.Random;

public class Main {

static int sumOf(int[] a){

int sum=0;

for(int i=0;i<a.length;i++){

sum+=a[i];

}

return sum;

}

public static void main(String[] args) {

Scanner stdIn=new Scanner(System.in);

System.out.print("元素个数:");

int n=stdIn.nextInt();

int[] a=new int[n];

for(int i=0;i<n;i++){

System.out.print("x["+i+"]:");

a[i]=stdIn.nextInt();

}

System.out.print(sumOf(a));

}

}

7-16

import java.util.Scanner;
import java.util.Random;
public class Main {
static int minOf(int[] a){
int min=a[0];
for(int i=1;i<a.length;i++){
if(a[i]<min) min=a[i];
}
return min;
}
public static void main(String[] args) {
Scanner stdIn=new Scanner(System.in);
System.out.print("元素个数:");
int n=stdIn.nextInt();
int[] a=new int[n];
for(int i=0;i<n;i++){
System.out.print("x["+i+"]:");
a[i]=stdIn.nextInt();
}
System.out.print(minOf(a));
}
}

7-17

import java.util.Scanner;

public class Main {

static int linearSearchR(int[] a,int key){

for(int i=0;i<a.length;i++) {

if (a[a.length - 1 - i] == key)

return a.length - 1 - i;

}

return -1;

}

public static void main(String[] args) {

Scanner stdIn=new Scanner(System.in);

System.out.print("元素个数:");

int n=stdIn.nextInt();

System.out.print("要查找的数值:");

int key=stdIn.nextInt();

int[] a=new int[n];

for(int i=0;i<n;i++){

System.out.print("x["+i+"]:");

a[i]=stdIn.nextInt();

}

System.out.print(linearSearchR(a,key));

}

}

7-18

import java.util.Scanner;

static void aryRmv(int[] a,int idx){

for(int i=0;i<a.length;i++){

if(i>=idx&&i<a.length-1) {

a[i] = a[i + 1];

}

else if(i<idx){

a[i]=a[i];

}

else{

a[a.length-1]=a[a.length-2];

}

}

}

public static void main(String[] args){

Scanner stdIn = new Scanner(System.in);

System.out.print("元素个数:");

int b=stdIn.nextInt();

int[] a=new int[b];

for(int i=0;i<a.length;i++){

System.out.print("a["+i+"]=");

a[i]=stdIn.nextInt();

}

System.out.print("要删除的数组元素的第一个索引:");

int idx=stdIn.nextInt();

System.out.print("要删除的元素个数:");

int n=stdIn.nextInt();

System.out.println("删改后的数组。");

aryRmvN(a,idx,n);

for(int i=0;i<a.length;i++){

System.out.println("x["+i+"]:"+a[i]);

}

}

}

7-19

import java.util.Scanner;

public class Test {

static void aryRmvN(int[] a,int idx,int n){

for(int i=0;i<a.length;i++){

if(i>=idx&&i<=a.length-n-idx){

a[i]=a[i+n];

}

}

}

public static void main(String[] args){

Scanner stdIn = new Scanner(System.in);

System.out.print("元素个数:");

int b=stdIn.nextInt();

int[] a=new int[b];

for(int i=0;i<a.length;i++){

System.out.print("a["+i+"]=");

a[i]=stdIn.nextInt();

}

System.out.print("要删除的数组元素的第一个索引:");

int idx=stdIn.nextInt();

System.out.print("要删除的元素个数:");

int n=stdIn.nextInt();

System.out.println("删改后的数组。");

aryRmvN(a,idx,n);

for(int i=0;i<a.length;i++){

System.out.println("x["+i+"]:"+a[i]);

}

}

}

7-20

import java.util.Scanner;

public class Test {

static void aryIns(int[] a,int idx,int x){

for(int i=a.length-1;i>=0;i--){

if(i>idx){

a[i]=a[i-1];

}

}

a[idx]=x;

}

public static void main(String[] args){

Scanner stdIn = new Scanner(System.in);

System.out.print("元素个数:");

int b=stdIn.nextInt();

int[] a=new int[b];

for(int i=0;i<a.length;i++){

System.out.print("a["+i+"]=");

a[i]=stdIn.nextInt();

}

System.out.print("要改变的数组元素的第一个索引:");

int idx=stdIn.nextInt();

System.out.print("要增加的元素:");

int x=stdIn.nextInt();

System.out.println("修改后的数组。");

aryIns(a,idx,x);

for(int i=0;i<a.length;i++){

System.out.println("x["+i+"]:"+a[i]);

}

}

}

7-21

import java.util.Scanner;

public class Main {

static void aryExchnng(int[] a,int[] b){

int tmp=0;

if(a.length<=b.length){

for(int i=0;i<a.length;i++){

tmp=a[i];

a[i]=b[i];

b[i]=tmp;

}

}

else{

for(int i=0;i<b.length;i++){

tmp=a[i];

a[i]=b[i];

b[i]=tmp;

}

}

}

public static void main(String[] args) {

Scanner stdIn=new Scanner(System.in);

System.out.print("a组个数:");

int na=stdIn.nextInt();

int[] a=new int[na];

for(int i=0;i<na;i++){

System.out.print("x["+i+"]:");

a[i]=stdIn.nextInt();

}

System.out.print("b组个数:");

int nb=stdIn.nextInt();

int[] b=new int[nb];

for(int i=0;i<nb;i++){

System.out.print("y["+i+"]:");

b[i]=stdIn.nextInt();

}

aryExchnng(a,b);

System.out.println("交换后的数组:");

for(int i=0;i<na;i++)

System.out.println("x["+i+"]:"+a[i]);

for(int i=0;i<nb;i++)

System.out.println("y["+i+"]:"+b[i]);

}

}

7-22

import java.util.Scanner;
public class Main {
static int[] arrayClone(int[] a){
int[] b=new int[a.length];
for(int i=0;i<a.length;i++){
b[i]=a[i];
}
return a;
}
public static void main(String[] args) {
Scanner stdIn=new Scanner(System.in);
System.out.print("数组中的元素个数:");
int n=stdIn.nextInt();
int[] a=new int[n];
int[] b=arrayClone(a);
for(int i=0;i<n;i++){
System.out.print("a["+i+"]:");
a[i]=stdIn.nextInt();
}
arrayClone(a);
for(int i=0;i<b.length;i++){
System.out.println("b["+i+"]:"+b[i]);
}
}
}

7-23

import java.util.Scanner;

public class Test {

static int[] arraySrchIdx(int[] a,int x){

int[] b = new int[a.length]; // 修改数组 b 的大小为 a.length

int count = 0;

for (int i = 0; i < a.length; i++) {

if (a[i] == x) {

b[count] = i; // 将匹配的索引保存到数组 b 中

count++;

}

}

int[] result = new int[count]; // 创建一个大小为 count 的新数组

for (int i = 0; i < count; i++) {

result[i] = b[i]; // 将数组 b 的前 count 个元素复制到结果数组中

}

return result;

}

 

public static void main(String[] args){

Scanner stdIn = new Scanner(System.in);

System.out.print("元素个数:");

int n=stdIn.nextInt();

int[] a=new int[n];

for(int i=0;i<a.length;i++){

System.out.print("a["+i+"]=");

a[i]=stdIn.nextInt();

}

System.out.print("关键值:");

int x=stdIn.nextInt();

int[] b=arraySrchIdx(a,x);

for(int i=0;i<b.length;i++){

System.out.println("b["+i+"]:"+b[i]);

}

}

}

7-24

import java.util.Scanner;

public class Main {

static int[] arrayRmvOd(int[] a,int idx){

for(int i=idx;i<a.length-1;i++){

a[i]=a[i+1];

}

return a;

}

public static void main(String[] args) {

Scanner stdIn=new Scanner(System.in);

System.out.print("数组中的元素个数:");

int n=stdIn.nextInt();

System.out.print("数组中要取的值位数:");

int idx=stdIn.nextInt();

int[] a=new int[n];

for(int i=0;i<n;i++){

System.out.print("a["+i+"]:");

a[i]=stdIn.nextInt();

}

arrayRmvOd(a,idx);

System.out.println("删除元素后的数组:");

for(int i=0;i<a.length-1;i++){

System.out.println("a["+i+"]:"+a[i]);

}

}

}

7-25

方案一:

import java.util.Scanner;

public class Main {

static int[] arrayRmvOfN(int[] a,int idx,int n){

for(int i=idx;i<a.length-n;i++){

a[i]=a[i+n];

}

return a;

}

public static void main(String[] args) {

Scanner stdIn=new Scanner(System.in);

System.out.print("数组中的元素个数:");

int m=stdIn.nextInt();

System.out.print("数组中要取的值位数:");

int idx=stdIn.nextInt();

System.out.print("数组中要删减的元素个数:");

int n=stdIn.nextInt();

int[] a=new int[m];

for(int i=0;i<m;i++){

System.out.print("a["+i+"]:");

a[i]=stdIn.nextInt();

}

arrayRmvOfN(a,idx,n);

System.out.println("删除元素后的数组:");

for(int i=0;i<a.length-n;i++){

System.out.println("a["+i+"]:"+a[i]);

}

}

}

方案二:

import java.util.Scanner;
public class Test {
static int[] arrayRmvOf(int[] a,int idx,int n) {
for(int i=a.length-1;i>=a.length+1-n;i--){
a[i-n]=a[i];
}
int[] b=new int[a.length-n];
for(int i=0;i<b.length;i++){
b[i]=a[i];
}
return b;
}
public static void main(String[] args){
Scanner stdIn = new Scanner(System.in);
System.out.print("元素个数:");
int c=stdIn.nextInt();
int[] a=new int[c];
for(int i=0;i<a.length;i++){
System.out.print("a["+i+"]=");
a[i]=stdIn.nextInt();
}
System.out.print("索引:");
int idx=stdIn.nextInt();
System.out.print("删除的元素个数:");
int n=stdIn.nextInt();
int[] b=arrayRmvOf(a,idx,n);
for(int i=0;i<b.length;i++){
System.out.println("b["+i+"]:"+b[i]);
}
}
}

7-26

import java.util.Scanner;

public class Main {

static int[] arrayInsOf(int[] a,int idx,int x){

int [] newa=new int[a.length+1];

newa[idx]=x;

for(int i=0;i<idx;i++){

newa[i]=a[i];

}

for(int i=idx+1;i<a.length+1;i++){

newa[i]=a[i-1];

}

return newa;

public static void main(String[] args) {

Scanner stdIn=new Scanner(System.in);

System.out.print("数组中的元素个数:");

int m=stdIn.nextInt();

System.out.print("数组中要插入的位数:");

int idx=stdIn.nextInt();

System.out.print("数组中要插入的元素:");

int x=stdIn.nextInt();

int[] a=new int[m];

for(int i=0;i<m;i++){

System.out.print("a["+i+"]:");

a[i]=stdIn.nextInt();

}

a=arrayInsOf(a,idx,x);

System.out.println("增加元素后的数组:");

for(int i=0;i<a.length;i++){

System.out.println("a["+i+"]:"+a[i]);

}

}

}

7-27

static boolean addMatrix(int[][] x,int[][] y,int[][] z) {

int xRow = x.length;

int yRow = y.length;

int zRow = z.length;

if (xRow == yRow && yRow == zRow) {

for (int i = 0; i < xRow; i++) {

int xCol = x[i].length;

int yCol = y[i].length;

int zCol = z[i].length;

if (xCol == yCol && yCol == zCol) {

for (int j = 0; j < xCol; j++) {

z[i][j] = x[i][j] + y[i][j];

}

} else {

return false;

}

}

return true;

}

return false;

}

7-28

import java.util.Scanner;

public class Main {

static int[][] addMatrix(int[][] x,int[][] y){

int xRow = x.length;

int xCol=x[0].length;

int yRow = y.length;

int yCol=y[0].length;

int[][] z=new int[xRow][xCol];

if(xRow==yRow&&xCol==yCol) {

for (int i = 0; i < xRow; i++) {

for (int j = 0; j < xCol; j++)

z[i][j] = x[i][j] + y[i][j];

}

}

return z;

}

public static void main(String[] args) {

Scanner stdIn=new Scanner(System.in);

System.out.print("数组x的行数:");

int xRow=stdIn.nextInt();

System.out.print("数组x的列数:");

int xCol=stdIn.nextInt();

int[][] x=new int[xRow][xCol];

for(int i=0;i<xRow;i++){

for(int j=0;j<xCol;j++){

x[i][j]=stdIn.nextInt();

}

}

for(int i=0;i<xRow;i++){

for(int j=0;j<xCol;j++){

System.out.print(x[i][j]+" ");

}

System.out.println();

}

System.out.print("数组y的行数:");

int yRow=stdIn.nextInt();

System.out.print("数组y的列数:");

int yCol=stdIn.nextInt();

int[][] y=new int[yRow][yCol];

for(int i=0;i<yRow;i++){

for(int j=0;j<yCol;j++){

y[i][j]=stdIn.nextInt();

}

}

for(int i=0;i<yRow;i++){

for(int j=0;j<yCol;j++){

System.out.print(y[i][j]+" ");

}

System.out.println();

}

System.out.println("数组z:");

int[][] z=addMatrix(x,y);

for(int i=0;i<z.length;i++){

for(int j=0;j<z[i].length;j++){

System.out.print(z[i][j]+" ");

}

System.out.println();

}

}

}

7-29

import java.util.Scanner;

public class Main {

static int[][] aryClone2(int[][] a){

int aRow = a.length;

int aCol=a[0].length;

int [][] b=new int[aRow][aCol];

for(int i=0;i<aRow;i++){

for(int j=0;j<aCol;j++){

b[i][j]=a[i][j];

}

}

for(int i=0;i<b.length;i++){

for(int j=0;j<b[i].length;j++){

System.out.print(b[i][j]+" ");

}

System.out.println();

}

return b;

}

public static void main(String[] args) {

Scanner stdIn=new Scanner(System.in);

System.out.print("数组a的行数:");

int aRow=stdIn.nextInt();

System.out.print("数组a的列数:");

int aCol=stdIn.nextInt();

int[][] a=new int[aRow][aCol];

for(int i=0;i<aRow;i++){

for(int j=0;j<aCol;j++){

a[i][j]=stdIn.nextInt();

}

}

for(int i=0;i<aRow;i++){

for(int j=0;j<aCol;j++){

System.out.print(a[i][j]+" ");

}

System.out.println();

}

System.out.println("数组b:");

aryClone2(a);

}

}

7-30

import java.util.Scanner;

public class Main {

static int min(int a,int b){

return a<b?a:b;

}

static int min(int a,int b,int c){

int min=a;

if(b<a) min=b;

if(c<a) min=c;

return min;

}

static int min(int[] a){

int min=a[0];

for(int i=1;i<a.length;i++){

if(a[i]<min) min=a[i];

}

return min;

}

public static void main(String[] args) {

Scanner stdIn=new Scanner(System.in);

System.out.print("整数1:");

int n1=stdIn.nextInt();

System.out.print("整数2:");

int n2=stdIn.nextInt();

System.out.print("整数3:");

int n3=stdIn.nextInt();

System.out.println("整数1和整数2中的最小值:"+min(n1,n2));

System.out.println("整数1、整数2和整数3中的最小值:"+min(n1,n2,n3));

System.out.print("数组a中的元素个数:");

int n=stdIn.nextInt();

int[] a=new int[n];

for(int i=0;i<n;i++){

a[i]=stdIn.nextInt();

}

for(int i=0;i<n;i++){

System.out.print(a[i]+" ");

}

System.out.print("数组a中的最小值:"+min(a));

}

}

7-31

import java.util.Scanner;

public class Main {

static int absolute9(int x){

int m=0;

if(x>=0){

m=x;

}

else{

m=-x;

}

return m;

}

static long absolute(long x){

long m=0;

if(x>=0){

m=x;

}

else{

m=-x;

}

return m;

}

static float absolute(float x){

float m=0;

if(x>=0){

m=x;

}

else{

m=-x;

}

return m;

}

static double absolute(double x){

double m=0;

if(x>=0){

m=x;

}

else{

m=-x;

}

return m;

}

public static void main(String[] args) {

Scanner stdIn=new Scanner(System.in);

System.out.print("整数:");

int a=stdIn.nextInt();

System.out.println(absolute(a));

System.out.print("整数:");

long b=stdIn.nextLong();

System.out.println(absolute(b));

System.out.print("整数:");

float c=stdIn.nextFloat();

System.out.println(absolute(c));

System.out.print("整数:");

double d=stdIn.nextDouble();

System.out.println(absolute(d));

}

}

7-32

import java.util.Scanner;

public class Main {

static void printBits(byte x){

for(int i=7;i>=0;i--){

System.out.print((x>>i)&1);

}

System.out.println();

}

static void printBits(short x){

for(int i=15;i>=0;i--){

System.out.print((x>>i)&1);

}

System.out.println();

}

static void printBits(int x){

for(int i=31;i>=0;i--){

System.out.print((x>>i)&1);

}

System.out.println();

}

static void printBits(long x){

for(int i=63;i>=0;i--){

System.out.print((x>>i)&1);

}

System.out.println();

}

public static void main(String[] args) {

Scanner stdIn=new Scanner(System.in);

byte b = 10;

short s = 300;

int i = 5000;

long l = 123456789L;

printBits(b);

printBits(s);

printBits(i);

printBits(l);

}

}

7-33

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

int[] arr1 = {1, 2, 3, 4, 5};

int[][] arr2 = {{1, 2, 3}, {4, 5}, {6, 7, 8}};

printArray(arr1);

System.out.println();

printArray(arr2);

 }

public static void printArray(int[] a) {

for (int i = 0; i < a.length; i++) {

 System.out.print(a[i] + " ");

  }

System.out.println();

 }

public static void printArray(int[][] a) {

int maxCols = 0;

for (int i = 0; i < a.length; i++) {

maxCols = Math.max(maxCols, a[i].length);

 }

for (int i = 0; i < a.length; i++) {

for (int j = 0; j < a[i].length; j++) {

 System.out.print(a[i][j] + " ");

 }

 for (int j = a[i].length; j < maxCols; j++) {

 System.out.print(" "); 

 }

 System.out.println();

}

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值