📄 10.txt
字号:
//
1.
求奇数相加
public class AddOddTest
{
public static void main(String args[])
{
AddOdd odd = new AddOdd();
odd.add(99);
odd.show();
}
}
class AddOdd
{
private int odd;
public void add(int j)
{
odd = 0
for(int i=0;i<j;i+=2)
{
odd += i ;
}
}
public void show ()
{
System.out.println(odd);
}
}
//
2.
/**
目标/功能要求:
定义一个工具类,实现下述两项功能:
1.将任意输入的十进制数据转换为二进制形式返回;
2.将任意输入的二进制数据转换为十进制形式返回。
说明/提示:
1.工具类可定义成如下结构:
public class ConvertTool{
//将一个byte/short/char/int型变量转变为二进制字符串的形式。
public String conversion(int data){……}
//将一个长度为8/16/32位的二进制数字符串作为输入,将其转变为整数后输出。
public int deconversion(String data){……}
}
*/
import java.lang.*;
public class BinaryTest
{
public static void main(String[] args)
{
int i = -18;
String s= "11000000010100010000000001010001";
ConvertTool binary = new ConvertTool ();
System.out.println(i+" "+binary.conversion(i));
System.out.println(s+" "+binary.deconversion(s));
System.out.println(18+" "+binary.conversion(18));
System.out.println(1100011+" "+binary.deconversion("1100011"));
}
}
//工具类 class ConvertTool
class ConvertTool
{
public String conversion(int data) // 十进制 转成 二进制
{
String s = "";
for(int i = 0;i<32 ;i++)
{
if(((1<<i)&data)==0)
s = "0"+s;
else
s = "1"+s;
}
return s;
}
/////////-------------------------/////// 二进制 转成 十进制
public int deconversion(String data)
{
int j = data.length();
int de = 0;
if( j<32 || data.charAt(0)=='0') // 正数
{
for (int i=j ; i>0 ; i--)
{
if(data.charAt(i-1)=='1')
de = de + (int)Math.pow(2,j-i);
}
return de;
}
else //如果是 负数 二进制----十进制:减1 ,逐位取反,转换为十进制正数,乘-1
{
for (int i=32 ; i>1 ; i--)
{
if(data.charAt(i-1)=='1')
de = de + (int)Math.pow(2,j-i);
}
de = de -1;
String t = conversion(de);
String s = "";
//逐位取反
for (int i=32 ; i>1 ; i--)
{
if(t.charAt(i-1)=='1')
s = s+"0";
else
s = s+"1";
}
//转换为十进制正数
for (int i=j-1 ; i>0 ; i--)
{
if(s.charAt(i-1)=='1')
de = de + (int)Math.pow(2,j-i);
}
return -de;
}
}
}
//
3.
/**写一方法,在调用时通过参数输入年号,判断是否为闰年。
算法: 根据闰年的判断条件
2 当年号能被4整除但不能被100整除时, 为闰年。
2 当年号能被400整除时, 为闰年。
*/
// show Leap Year
public class LeapyearTest
{
public static void main(String[] args)
{
int i = Integer.parseInt(args[0]);
LeapYear ly = new LeapYear(i);
ly.show();
}
}
// define class Leap Year
class LeapYear
{
int year ;
boolean IsLeapYear;
public LeapYear(){}
public LeapYear(int leapYear)
{
year = leapYear;
if ((year%4==0)&&((year%100)!=0)) //当年号能被4整除但不能被100整除时, 为闰年
{
IsLeapYear = true ;
}
else if (year%400==0) //当年号能被400整除时, 为闰年
{
IsLeapYear = true ;
}
else
{
IsLeapYear = false;
}
}
public void show()
{
if(IsLeapYear)
System.out.println(year +"年是闰年。");
else
System.out.println(year+ "年不是闰年。");
}
}
//
4
//input ComputerName 得到网络上机器的Ip Address
import java.net.*;
public class netTest {
public static void main(String[] args)
throws Exception {
if(args.length != 1) {
System.err.println("Usage: WhoAmI MachineName");
System.exit(1);
}
InetAddress a = InetAddress.getByName(args[0]);
System.out.println();
System.out.println("计算机名称/IP地址: "+a);
}
}
//
/**
stack
目标/功能要求:
定义一个方法,实现下述功能:
1.输入任意合法的四则表达式字符串,计算并输出运算结果,同时将结果返回;
2.运算符只使用'+' , '-' , '*' , '/'四种,不允许使用'(' , ' )',不考虑优先顺序。
?
说明/提示:
1.方法结构:
public int calString(String s){ ……}
*/
import java.lang.*;
public class Opration1Test
{
public static void main(String[] args)
{
String s = "-12+400*6-12/6";
Opration1Test stack = new Opration1Test();
int n = stack.calString (s);
System.out.println(s+ " = "+n);
}
//public int calString(String s){ ……}
public int calString (String s )
{
int j = s.length();
String t ;
char ch;
StackTest mystack =new StackTest (10);
int n = 0,m= 0;
int counter = 0;
String temp;
int add =0, sub=0 ,mul=0 ,dev=0;
for (int i = 0;i<j; i++)
{
t = s.substring(i,i+1);
ch = t.charAt(0);
switch(ch)
{
case '+':
if ( n!=0 )
{ m = n;n=0;}
for (int k = counter ;counter>0;counter--)
{
n += mystack.pop()*(int)Math.pow(10,k-counter);
}//System.out.println(n);
if(add ==1) {n+=m;add =0; }
if(sub== 1) {n =m-n;sub =0;}
if(mul ==1) {n*=m;mul =0;}
if(dev== 1) {n =m/n;dev =0;}
add = 1;
break ;
case '-':
if ( n!=0 )
{m = n;n=0;}
for (int k = counter ;counter>0;counter--)
{
n += mystack.pop()*(int)Math.pow(10,k-counter);
}//System.out.println(n);
if(add ==1) {n+=m;add =0;}
if(sub== 1) {n =m-n;sub =0;}
if(mul ==1) {n*=m;mul =0;}
if(dev== 1) {n =m/n;dev =0;}
sub=1;
break ;
case '*':
if ( n!=0 )
{m = n;n=0;}
for (int k = counter ;counter>0;counter--)
{
n += mystack.pop()*(int)Math.pow(10,k-counter);
}//System.out.println(n);
if(add ==1) {n+=m;add =0;}
if(sub== 1) {n =m-n;sub =0;}
if(mul ==1) {n*=m;mul =0;}
if(dev== 1) {n =m/n;dev =0;}
mul = 1;
break ;
case '/':
if ( n!=0 )
{m = n;n=0;}
for (int k = counter ;counter>0;counter--)
{
n += mystack.pop()*(int)Math.pow(10,k-counter);
}//System.out.println(n);
if(add ==1) {n+=m;add =0;}
if(sub== 1) {n =m-n;sub =0;}
if(mul ==1) {n*=m;mul =0;}
if(dev== 1) {n =m/n;dev =0;}
dev = 1;
break ;
default:
if (mystack.push(Integer.parseInt(t)))
counter++;
}
}
if ( n!=0 )
{m = n;n=0;}
for (int k = counter ;counter>0;counter--)
{
n += mystack.pop()*(int)Math.pow(10,k-counter);
}
if(add ==1) {n+=m;add =0;}
if(sub== 1) {n =m-n;sub =0;}
if(mul ==1) {n*=m;mul =0;}
if(dev== 1) {n =m/n;dev =0;}
return n;
}
/*
public void change()
{
if ( n!=0 )
{m = n;n=0;}
for (int k = counter ;counter>0;counter--)
{
n += mystack.pop()*(int)Math.pow(10,k-counter);
}
if(add ==1) {n+=m;add =0;}
if(sub== 1) {n =m-n;sub =0;}
if(mul ==1) {n*=m;mul =0;}
if(dev== 1) {n =m/n;dev =0;}
}
*/
}
class MyStack{
//属性声明部分
private int top;
private int[] array;
private int size;
//构造方法
public MyStack(int size)
{//创建并初始化一个堆栈对象
this.size = size;
array = new int[size];
top =-1;
}
//压栈:若栈不满,则将data插入为栈顶元素,返回值为true;否则返回false。
public boolean push(int data)
{
if(top < size-1)
{
array[++top] = data;
return true;
}
return false;
}
//弹栈
public int pop()
{
if(top >= 0)
{
return array[top--];
}
return 0;
}
//取栈顶元素(不进行弹栈操作)
public int getTop()
{
if(top >= 0)
{
return array[top];
}
return 0;
}
//判断栈是否空
public boolean isEmpty()
{
return top<0;
}
//栈置空操作
public void clear()
{
top = -1;
}
//获取当前栈中元素个数
public int currentSize()
{
return top+1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -