java程序设计题

java程序设计题,第1张

import javaioBufferedInputStream;

import javaioBufferedOutputStream;

import javaioFile;

import javaioFileInputStream;

import javaioFileNotFoundException;

import javaioFileOutputStream;

import javaioIOException;

public class Test {

public static void main(String[] args) {

BufferedOutputStream out = null;

try {

out = new BufferedOutputStream(new FileOutputStream(new File("d:/infotxt")));

String line = "第一行文本\n第二行文本";

outwrite(linegetBytes());

} catch (FileNotFoundException e) {

eprintStackTrace();

} catch (IOException e) {

eprintStackTrace();

} finally {

if (out != null) {

try {

outclose();

} catch (IOException e) {

eprintStackTrace();

}

}

}

BufferedInputStream in = null;

try {

in = new BufferedInputStream(new FileInputStream("d:/infotxt"));

StringBuffer buffer = new StringBuffer();

byte[] buff = new byte[inavailable()];

while (inread(buff) != -1) {

bufferappend(new String(buff));

}

Systemoutprintln(buffer);

} catch (FileNotFoundException e) {

eprintStackTrace();

} catch (IOException e) {

eprintStackTrace();

} finally {

if (in != null) {

try {

inclose();

in = null;

} catch (IOException e) {

eprintStackTrace();

}

}

}

}

}

;

 

 

StringBuilder 结合了字符数组和字符串的好些优点,所以实现大整数类的时候如果利用 StringBuilder 可以省掉不少功夫,比如:

import javautil;

class SPBI {    // SimplePositiveBigInteger 的缩略

    public static void main(String[] args) {

        try {

            Systemoutprintln("输入两个 30 位数以内的正整数和一个符号('+' 或 ''):");

            Scanner scn = new Scanner(Systemin);

            SPBI a = new SPBI(scnnextLine()trim()),

                 b = new SPBI(scnnextLine()trim());

            String operator = scnnextLine()trim();

            if (atoString()length() > 30 || btoString()length() > 30)

                throw new Exception("至少有一个整数超过 30 位数");

            if ( ! operatormatches("\\+|\\"))

                throw new Exception("此程序不支持的符号:" + operator);

            Systemoutprintln(

                    "\n\n" +

                    atoStringWithDigitGrouping() + operator + "\n" +

                    btoStringWithDigitGrouping() + "\n" +

                    "------------------------------ \n");

            if (operatorequals("+"))

                Systemoutprintln(aadd(b)toStringWithDigitGrouping());

            else

                Systemoutprintln(amultiply(b)toStringWithDigitGrouping());

        } catch (Exception ex) {

            Systemoutprintln("错误:" + exgetMessage() + "。请重试。");

        }

    }

    // 此 SBPI 所代表的整数(注:个位数在左端)

    private StringBuilder reversedDigits;

    // 唯一的构造器

    public SPBI(String spbi) {

        if ( ! spbimatches("\\d+"))

            throw new IllegalArgumentException(spbi + " 不符合正整数格式");

        reversedDigits = new StringBuilder(spbi)reverse();

        normalize();

    }

    // 去掉这个 SPBI 中多余的前导零(全在 reversedDigits 的右端)

    private void normalize() {

        reversedDigits = new StringBuilder(reversedDigitstoString()replaceAll("(<!^)0+$", ""));

    }

    public String toString() {

        return "" + new StringBuilder(reversedDigits)reverse();

    }

    // 除了在返回的字符串中加入了千位分组符外,跟 toString() 没差别

    public String toStringWithDigitGrouping() {

        return "" + new StringBuilder(reversedDigitstoString()replaceAll("{3}(!$)", "$0,"))reverse();

    }

    // 加法 *** 作(等于 this += that 然后返回 this)

    public SPBI add(SPBI that) {

        int maxLength = Mathmax(reversedDigitslength(), thatreversedDigitslength());

        reversedDigitssetLength(maxLength);    // 可能造成 reversedDigits 的右端被填入 '\0'

        int carry = 0;

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

            int digitOfThis = reversedDigitscharAt(i) != '\0' reversedDigitscharAt(i) - '0' : 0,

                digitOfThat = i < thatreversedDigitslength() thatreversedDigitscharAt(i) - '0' : 0,

                sum         = digitOfThis + digitOfThat + carry;

            carry = sum > 9 1 : 0;

            reversedDigitssetCharAt(i, (char) (sum % 10 + '0'));

        }

        reversedDigitsappend(carry);

        normalize();

        return this;

    }

    // 乘法 *** 作(等于 this = that 然后返回 this)

    public SPBI multiply(SPBI that) {

        SPBI multiplesOfTenOfOriginalThis = new SPBI(toString());

        reversedDigits = new StringBuilder("0");    // this 归零

        for (int iThat = 0; iThat < thatreversedDigitslength(); iThat++) {

            for (int addCount = 0; addCount < thatreversedDigitscharAt(iThat) - '0'; addCount++)

                add(multiplesOfTenOfOriginalThis);

            multiplesOfTenOfOriginalThisreversedDigitsinsert(0, 0);    // 乘 10

        }

        return this;

    }

}

 

 

 

public static void main(String args[]){

String s1="Java";

int n=s1length(); //得到s1这个字符串变量的长度

Systemoutprint("n="+n);

char m=s1charAt(2); //得到s1变量中第三个字符

Systemoutprintln(" s1="+s1);

}//n=4 s1=Java

2.以下程序的输出结果为 123 。

class Test{

static int num; //定义一个静态变量

int c;

public Test( ){

num++;}

public static void main(String[ ] args){

Test x1=new Test();

Systemoutprint(x1num);

Test x2=new Test();

Systemoutprint(x2num);

Test x3=new Test();

Systemoutprintln(x3num);//获得x3对象中num属性的值 3

}}

3、以下程序的输出结果为 Inside main() Mug(1) c1 initialized Mugs() 。

class Mug {

Mug(int marker) {

Systemoutprintln("Mug(" + marker + ")"); }

void f(int marker) {

Systemoutprintln("f(" + marker + ")"); }}

public class Mugs {

Mug c1;

{ c1 = new Mug(1); //实例化对象c1

Systemoutprintln("c1 initialized"); }

Mugs() { Systemoutprintln("Mugs()"); }

public static void main(String[] args) {

Systemoutprintln("Inside main()");

Mugs x = new Mugs();//实例化x

}}

4、以下程序的输出结果为 AB 。

class A{

public A(){

Systemoutprint(“ A ”);

}}

public class B extends A{//类B继承类A

public B(){

Systemoutprint(“ B ”);

}

public static void main(String[ ] args){

new B( );//初始化一个类B的临时变量

}}

.public class AboutThreeNum

{public static void main(String[ ] args)

{ Systemoutprintln( fun(-8, 50, 23) ); }

static int fun(int x, int y, int z) //静态函数fun,属于这个类,而不是单个对象

{ return fun( x, fun(y,z) ); }

static int fun(int x,int y)

{ if(x>y) return x; //当x>y时,返回x的值

else return y; }}

结果 50

以上就是关于java程序设计题全部的内容,包括:java程序设计题、有些难度的java编程题、有关java的编程问题 1. 阅读以下程序,在指定语句后加上注释并写出运行结果。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9405748.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存