回文数(java编程)
《JAVA核心技术》基础试题
《JA V A编程初步》测试题一、选择题1、关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是()。
A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B、可以被两种类访问和引用:该类本身、该类的所有子类C、只能被该类自身所访问和修改D、只能被同一个包中的类访问2、以下代码段将创建()个对象。
String s1="bc";String s2="bc";A、0B、1C、2D、33、编译并运行以下程序,以下描述哪个选项是正确的()1: class X{2: protected String toString(){3: return ();}4: }A、编译通过运行无异常B、编译通过但运行时出错C、行2出错,不能成功编译D、不能成功编译,行3出错4、下列关于修饰符混用的说法,错误的是()5、A、abstract不能与final并列修饰同一个类6、B、abstract类中不可以有private的成员7、C、abstract方法必须在abstract类中8、D、static方法中能处理非static的属性9、容器Panel和Applet缺省使用的布局编辑策略是()10、A、BorderLayout B、FlowLayout C、GridLayout D、CardLayout11、以下标识符中哪项是不合法的( )A、BigMeaninglessNameB、$intC、1 stD、$112、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的()A、public static void main()B、public static void main(String[ ] args)C、public static int main(String[ ] arg)D、public void main(String arg[ ])13、执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的()A、x[24]为0B、x[24]未定义C、x[25]为0D、x[0]为空14、以下代码段执行后的输出结果为()int x=3; int y=10;、0 B、1 C、2 D、310、以下哪个表达式是不合法的()A、String x="Hello"; int y=9; x+=y;B、String x="Hello"; int y=9; if(x= =y) { }C、String x="Hello"; int y=9; x=x+y;D、String x=null; int y=(x!=null)&&()>0) : 011、编译运行以下程序后,关于输出结果的说明正确的是()public class Conditional{public static void main(String args[ ]){int x=4;"value is "+ ((x>4) :9));}}A、输出结果为:value isB、输出结果为:value is 9C、输出结果为:value isD、编译错误12、以下声明合法的是()A、default String s;B、public final static native int w( )C、abstract double d;D、abstract final double hyperbolicCosine( )13、关于以下application的说明,正确的是()1: class StaticStuff2: {3: static int x=10;4: static { x+=5;}5: public static void main(String args[ ])6: {7: "x=" + x);9: static { x/=3;}10: }A、4行与9行不能通过编译,因为缺少方法名和返回类型B、9行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=5D、编译通过,执行结果为:x=314、关于以下程序代码的说明正确的是()1. class HasStatic{2. private static int x=100;3. public static void main(String args[ ]){4. HasStatic hs1=new HasStatic( );5. ++;6. HasStatic hs2=new HasStatic( );7. ++;8. hs1=new HasStatic( );10. -;11. "x="+x);12. }13. }A、5行不能通过编译,因为引用了私有静态变量B、10行不能通过编译,因为x是私有静态变量C、程序通过编译,输出结果为:x=103D、程序通过编译,输出结果为:x=10215、以下选项中循环结构合法的是()A、while (int i<7){ i++;"i is "+i);}B、 int j=3;while(j){ " j is "+j);}C、 int j=0;for(int k=0; j + k !=10; j++,k++){ " j is "+ j + "k is"+ k);}D、 int j=0;do{"j is "+j++);if (j = = 3) {continue loop;}}while (j<10);16、类Test1定义如下:1.public class Test1{2. public float aMethod(float a,float b){ } 3.4.}将以下哪种方法插入行3是不合法的。
判断回文数c++程序编写
判断回文数c++程序编写判断回文数是一个常见的算法问题。
回文数是指从左边读和从右边读都是一样的数字。
比如121、1221、12321等都是回文数。
本文将介绍用C++编写判断回文数的程序,以及相关的算法思路。
编写程序前,我们需要了解回文数的判断方法。
一种简单的方法是将数字转为字符串并比较前后两部分是否相等。
但是这种方法会导致额外的空间和时间开销。
更加高效的方法是直接对数字进行操作,可以通过取模运算和除法运算实现。
接下来,我们就可以开始用C++编写程序了。
代码如下:```C++#include <iostream>using namespace std;int main(){int n, m = 0, t;cin >> n;t = n;while (t > 0) {m = m * 10 + t % 10; // 取出最低位,并加到m的末尾t /= 10; // 去除最低位}if (n == m) cout << "Yes" << endl;else cout << "No" << endl;return 0;}```程序比较简单,首先读入一个整数n,然后通过不断取模和除法操作,将该数字的各位数字反转过来储存在变量m中。
最后比较n和m 是否相等即可判断该数字是否为回文数。
该算法的时间复杂度为O(logn),空间复杂度为O(1),非常高效。
在实际应用中,该算法可以用于判断文本中的回文字符串等任务。
在编写程序时,需要注意几个问题。
首先,当n为负数时不是回文数,需要加以排除。
其次,由于整型变量在存储时会引入符号位,因此反转数字时需要使用无符号整型或使用long long储存。
最后,如果输入的数字较大,可能会超过int范围,此时需要使用long long 或字符串来存储数字。
总之,判断回文数是一道基础的算法问题,通过本文的介绍,希望读者可以更好地掌握相关的算法思路和C++编程技巧。
《Java语言程序设计》上机实验指导手册
《Java语⾔程序设计》上机实验指导⼿册《Java语⾔程序设计》上机实验指导⼿册实验⼀ Java环境演练【⽬的】①安装并配置Java运⾏开发环境;②掌握开发Java应⽤程序的3个步骤:编写源⽂件、编译源⽂件和运⾏应⽤程序;③学习同时编译多个Java源⽂件。
【内容】1.⼀个简单的应⽤程序实验要求:编写⼀个简单的Java应⽤程序,该程序在命令⾏窗⼝输出两⾏⽂字:“你好,很⾼兴学习Java”和“We are students”。
程序运⾏效果⽰例:程序运⾏效果如下图所⽰:程序模板:Hello.javapublic class Hello{public static void main (String args[ ]){【代码1】//命令⾏窗⼝输出"你好,很⾼兴学习Java"A a=new A();a.fA();}}class A{void fA(){【代码2】//命令⾏窗⼝输出"We are students"}}实验后的练习:3.编译器怎样提⽰将System写成system这⼀错误?4.编译器怎样提⽰将String写成string这⼀错误?2.联合编译实验要求:编写4个源⽂件:Hello.java、A.java、B.java和C.java,每个源⽂件只有⼀个类,Hello.java是⼀个应⽤程序(含有main⽅法),使⽤了A、B和C类。
将4个源⽂件保存到同⼀⽬录中,例如:C:\100,然后编译Hello.java。
程序模板:模板1:Hello.javapublic class MainClass{public static void main (String args[ ]){【代码1】 //命令⾏窗⼝输出"你好,只需编译我"A a=new A();a.fA();B b=new B();b.fB();}}模板2 :A.javapublic class A{void fA(){【代码2】 //命令⾏窗⼝输出"I am A"}}模板3 :B.javapublic class B{void fB(){【代码3】 //命令⾏窗⼝输出"I am B"}public class C{void fC(){【代码4】 //命令⾏窗⼝输出"I am C"}}实验后的练习:5.将Hello.java编译通过后,不断修改A.java源⽂件中的代码,⽐如,在命令⾏窗⼝输出“我是A类”或“我被修改了”。
回文数c++语言程序编写
回文数c++语言程序编写回文数是指从左往右和从右往左读都相同的整数。
在C++语言中,我们可以编写一个程序来判断一个数是否为回文数。
首先,我们需要从用户那里获取一个整数作为输入。
可以使用`cin`来获取用户输入的整数。
接下来,我们需要编写一个函数来判断一个数是否为回文数。
我们可以将该函数命名为`isPalindrome`。
在这个函数中,我们可以使用以下步骤来判断一个数是否为回文数:1. 将输入的整数转化为字符串。
可以使用`to_string`函数来完成这一步骤。
2. 使用两个指针分别指向字符串的开头和结尾。
比较两个指针指向的字符是否相同。
3. 如果两个指针指向的字符相同,则将两个指针向中间移动,继续比较下一个字符。
4. 如果两个指针指向的字符不同,则返回`false`,说明该数不是回文数。
5. 当两个指针相遇时,说明已经比较完了所有的字符,返回`true`,说明该数是回文数。
下面是一个完整的示例代码:```cpp#include <iostream>using namespace std;bool isPalindrome(int num) {string str = to_string(num);int left = 0;int right = str.length() - 1;while (left < right) {if (str[left] != str[right]) { return false;}left++;right--;}return true;}int main() {int num;cout << '请输入一个整数: ';cin >> num;if (isPalindrome(num)) {cout << num << '是回文数' << endl;} else {cout << num << '不是回文数' << endl;}return 0;}```在上面的示例代码中,我们首先使用`cin`来获取用户输入的整数。
回文数c++语言程序编写
回文数c++语言程序编写回文数是一种特殊的数,它正读和倒读都是一样的。
例如,121、1221、1234321都是回文数。
在C++语言中,我们可以编写程序来判断一个数是否为回文数。
首先,我们可以采取以下步骤来判断一个数是否为回文数:1. 将输入的数转换为字符串类型,方便进行比较2. 使用两个指针,一个指向字符串的开头,一个指向字符串的结尾3. 通过循环比较两个指针所指向的字符是否相等,直到两个指针相遇或者找到了不相等的字符4. 如果找到了不相等的字符,则该数不是回文数;否则,该数是回文数下面是一个使用C++语言编写回文数判断程序的示例代码:```cpp#include <iostream>#include <string>using namespace std;bool isPalindrome(int num) {string str = to_string(num); // 将数转为字符串int left = 0; // 左指针int right = str.length() - 1; // 右指针while (left < right) {if (str[left] != str[right]) {return false; // 找到了不相等的字符,不是回文数}left++;right--;}return true; // 循环结束,是回文数}int main() {int num;cout << "请输入一个数: ";cin >> num;if (isPalindrome(num)) {cout << num << " 是回文数" << endl;} else {cout << num << " 不是回文数" << endl;}return 0;}```以上代码中,首先使用`to_string`函数将输入的数转换为字符串类型。
java编程题
java编程题1、(1)编写一个圆类Circle,该类拥有:①一个成员变量Radiu(私有,浮点型);//存放圆的半径;②两个构造方法Circle()//将半径设为0Circle(doubler)//创建Circle对象时将半径初始化为r③三个成员方法doublegetArea()//获取圆的面积doublegetPerimeter()//获取圆的周长voidhow()//将圆的半径、周长、面积输出到屏幕编写应用程序,创建类的对象,分别设置圆的半径,计算并分别显示圆半径、圆面积、圆周长。
2、定义一个表示学生信息的类Student,要求如下:(1)类Student的成员变量:NO表示学号;Name表示姓名;Se某表示性别;Age表示年龄;Java:表示Java课程成绩。
(2)类Student带参数的构造方法:在构造方法中通过形参完成对成员变量的赋值操作。
(3)类Student的方法成员:getNo():获得学号;getName():获得姓名;getSe某():获得性别;getAge()获得年龄;getJava():获得Java课程成绩(4)根据类Student的定义,创建五个该类的对象,输出每个学生的信息,计算并输出这五个学生Java语言成绩的平均值,以及计算并输出他们Java语言成绩的最大值和最小值。
3、输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
4、用Java语言定义一个员工类Employee(1)员工类Employee属性有:id:String型,代表员工ID号name:String型,代表姓名age:int型,代表年龄5、题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润,求应发放奖金总数?6、题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
(新)《Java语言程序设计》上机实验指导手册
《Java语言程序设计基础教程》上机实验指导手册实验一基本数据类型与控制语句【目的】①掌握开发Java应用程序的3个步骤:编写源文件、编译源文件和运行应用程序;②学习同时编译多个Java源文件;③掌握char型数据和int型数据之间的相互转换,同时了解unicode字符表;④掌握使用if…else if多分支语句;⑤使用if…else分支和while循环语句解决问题。
【内容】1.一个简单的应用程序✧实验要求:编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。
✧程序运行效果示例:程序运行效果如下图所示:✧程序模板:Hello.javapublic class Hello{public static void main (String args[ ]){【代码1】//命令行窗口输出"你好,很高兴学习Java"A a=new A();a.fA();}}class A{void fA(){【代码2】//命令行窗口输出"We are students"}}✧实验后的练习:1.编译器怎样提示丢失大括号的错误?2.编译器怎样提示语句丢失分号的错误?3.编译器怎样提示将System写成system这一错误?编译器怎样提示将String写成string这一错误?2.联合编译✧实验要求:编写4个源文件:Hello.java、A.java、B.java和C.java,每个源文件只有一个类,Hello.java是一个应用程序(含有main方法),使用了A、B和C类。
将4个源文件保存到同一目录中,例如:C:\100,然后编译Hello.java。
✧程序运行效果示例:程序运行效果如下图所示:✧程序模板:模板1:Hello.javapublic class MainClass{public static void main (String args[ ]){【代码1】 //命令行窗口输出"你好,只需编译我"A a=new A();a.fA();B b=new B();b.fB();}}模板2 :A.javapublic class A{void fA(){【代码2】 //命令行窗口输出"I am A"}}模板3 :B.javapublic class B{void fB(){【代码3】 //命令行窗口输出"I am B"}}模板4 :C.javapublic class C{void fC(){【代码4】 //命令行窗口输出"I am C"}}✧实验后的练习:4.将Hello.java编译通过后,不断修改A.java源文件中的代码,比如,在命令行窗口输出“我是A类”或“我被修改了”。
java循环经典题目
1.编写程序,打印出100以内所有5的倍数,如:100,95,90,85, (5)要求:用while结构和for结构两种方法。
2.求1-100以内的奇数和。
要求:用while结构和for结构两种方法。
3.接受用户输入一个整数,计算从1到该整数的和,如:输入50,则计算1+2+3……50的和。
要求:用while结构和for结构两种方法。
4.接受用户输入一个正整数,求出该数的阶乘,如:例如:输入5,则计算5*4*3*2*1=120。
要求:用while结构和for结构两种方法。
5.企业年底发放的奖金根据当年的利润提成。
利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万的部分,可提成5%;40万到60万之间时,高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,输入当年的利润,求应发放奖金总数。
6.判断一个五位数是否为回文数。
(P212 第三部分)提示:所谓回文数就是一个数的所有位对称,如12321就是回文数,23432和45654也是回文数,输入一个数,判断是不是回文数。
7.根据条件确定公司是否已经为司机投保如果司机满足下列条件之一,公司则为他们投保:(1) 司机已婚。
(2) 司机为30岁以上的未婚男性。
(3) 司机为25岁以上的未婚女性。
如果以上条件一个也不满足,则公司不为司机投保。
请编写一个程序,根据用户输入司机的婚姻状况、性别和年龄,判定该司机是否已经投保。
(思路:婚姻状况:“y”表示已婚,“n”表示未婚;性别:“m”表男性,“f”表女性;使用多重if结构或者嵌套if结构编写程序)8.打印:1121231234123459.打印:54321432132121110.打印: 12345 1234 12312111.打印: 121321 4321 54321。
JAVA超级算法(50题及答案)
【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少;public class lianxi04{public static void main(String[] args) {Scanner s = new Scanner;"请键入一个正整数: ");int n = ();int k=2;+ "=" );while(k <= n) {if(k == n) {else if( n % k == 0) { + "*");n = n / k; }else k++;}}}【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
import .*;public class lianxi05 {public static void main(String[] args) {int x;char grade;Scanner s = new Scanner;"请输入一个成绩: ");x = ();grade = x >= 90 'A': x >= 60 'B':'C';"等级为:"+grade);}}【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
/**在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。
* / import .*;public class lianxi06 {public static void main(String[] args) {int a ,b,m;Scanner s = new Scanner;"键入一个整数: ");a = ();"再键入一个整数: ");b = ();deff cd = new deff();m = (a,b);int n = a * b / m;"最大公约数: " + m);"最小公倍数: " + n);}}class deff{public int deff(int x, int y) {int t;if(x < y) {t = x;x = y;y = t;}while(y != 0) {if(x == y) return x;else {int k = x % y;x = y;y = k;}}return x;}}【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
广工《Java语言程序设计基础教程》上机实验指导手册(第一次)
《Java语言程序设计基础教程》上机实验指导手册实验一 Java环境演练【目的】①安装并配置Java运行开发环境;②掌握开发Java应用程序的3个步骤:编写源文件、编译源文件和运行应用程序;③掌握开发Java Applet程序的3个步骤:编写源文件、编译源文件和运行Java Applet 程序;④学习同时编译多个Java源文件。
【内容】1.一个简单的应用程序✧实验要求:编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。
✧程序运行效果示例:程序运行效果如下图所示:✧程序模板:Hello.javapublic class Hello{public static void main (String args[ ]){【代码1】//命令行窗口输出"你好,很高兴学习Java"A a=new A();a.fA();}}class A{void fA(){【代码2】//命令行窗口输出"We are students"}}✧实验后的练习:1.编译器怎样提示丢失大括号的错误?2.编译器怎样提示语句丢失分号的错误?3.编译器怎样提示将System写成system这一错误?4.编译器怎样提示将String写成string这一错误?2.一个简单的Java Applet程序✧实验要求:编写一个简单的Java Applet程序,并在Java Applet中写两行文字:“这是一个Java Applet程序”和“我改变了字体”。
✧程序运行效果示例:程序运行效果如下图所示:✧程序模板:FirstApplet.javaimport java.applet.*;import java.awt.*;public class FirstApplet extends Applet{public void paint(Graphics g){g.setColor(Color.blue);【代码1】//在Java Applet中绘制一行文字:“这是一个Java Applet 程序”g.setColor(Color.red);g.setFont(new Font("宋体",Font.BOLD,36));【代码2】//在Java Applet中绘制一行文字:“我改变了字体”}}✧实验后的练习:5.程序中的主类如果不用public修饰,编译能通过吗?6.程序中的主类如果不用public修饰,程序能正确运行吗?7.程序将paint方法误写成Paint,编译能通过么?8.程序将paint方法误写成Paint,运行时能看到有关的输出信息吗?3.联合编译✧实验要求:编写4个源文件:Hello.java、A.java、B.java和C.java,每个源文件只有一个类,Hello.java是一个应用程序(含有main方法),使用了A、B和C类。
50道经典Java逻辑编程题
【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
【程序4】题目:将一个正整数分解质因数。
例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
1.程序分析:(a> b)?a:b这是条件运算符的基本例子。
【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
1.程序分析:利用辗除法。
【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
1.程序分析:利用while语句,条件为输入的字符不为'\n '.【程序8】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
java第一次作业题目2021版
java第一次作业题目2021版1. 题目:从键盘上输入两个正整数m和n,求其最大公约数和最小公倍数,必须判断输入数的正确性(比如非正整数等必须提示)。
[选题人数:3] 2. 题目:给出一个月的总天数编写程序,提示用户输入月份和年份,然后显示这个月的天数。
例如,如果用户输入的月份是2而年份是2000,那么程序应显示“2000年2月有29天”。
如果用户输入的月份为3而年份为2021,那么程序就应该显示“2021年3月有31天”。
(提示:必须判断是否是闰年) [选题人数:3]3. 题目:计算一个三角形的周长编写程序,提示用户从键盘输入三角形的三条边,如果输入值合法就计算这个三角形的周长,否则,显示这些输入值不合法(如果任意两条边的和大于第三条边,那么输入值都是合法的)。
[选题人数:3] 4. 题目:奖金发放问题企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?[选题人数:3]5. 题目:打印金字塔形的数字编写一个嵌套的for循环,打印下面的输出。
1 2 1 1 2 4 2 1 1 2 4 8 4 2 1 1 2 4 8 168 4 2 11 2 4 8 16 32 16 8 4 2 11 2 4 8 16 32 64 32 16 8 4 2 11 2 4 8 16 32 64 128 64 32 16 8 4 2 1[选题人数:2] 6. 题目:十进制转换成二进制或十六进制编写程序,从键盘上输入一个十进制整数,然后显示对应的二进制值或十六进制值。
java实验3:回文素数
回文素数指某一个数既是回文数、又是素数,例如2, 3, 5, 7, 11, 101, 131,… 编程找出前100个回文素数,并且要求按照每 行10个的格式输出。 要求:输出方式任选。
二、源代码
package primepalindromes; public class Primepalindromes { public static void main(String[] args) { int i=2; for(int n=1;n<=100;i++){ if(prime(i)&&plalindrome(i)){ if(n%10==0) System.out.printf("%7d\n",i); //输出每10个一行,并使得输出数字右对齐 else System.out.printf("%7d",i); n++; } } } private static boolean prime(int n){ //判断n是否为素数 for(int i=2;i<=n/2;i++){ //本来i是需要递增到n //但是实际上i只需递增到n/2甚至是n^0.5就可以判断出是否为素 数。 //这样一来可以大大缩短运行时间。 if(n%i==0) return false; } return true; } private static boolean plalindrome(int n){
//判断n是否为回文数 int n1,n2; n1=0; n2=n; while(n2!=0){ n1=n2%10+n1*10; //n1是n倒序排列以后形成的 n2=n2/10; } return n1==n; //若n的倒序排列n1与n一致,说明n是回文数 } }
java复习题-选择题判断题
java复习题-选择题判断题复习题-选择题、判断题一、选择题1、Java用来定义一个新类时,所使用的关键字为( B )A、publicB、classC、structD、interface2、在Java中,关键字( D )使类必须被继承后才能创建对象。
A、finalB、thisC、protectedD、abstract3、设有String a="0"; char b='0'; int c=48;下面选项中能输出“Equal”的是( C )A、if(a==b){System.out.print("Equal");}B、if(a==c){System.out.print("Equal");}C、if(c==b) {System.out.print("Equal");}D、if(c!=b){System.out.print("Equal");}4、类的构造方法被自动调用执行的情况是在定义该类的( C )的时候。
A、成员函数B、数据成员C、对象D、构造函数5、下列可作为java语言标识符的是( A )B、1$1C、!_1D、this6、要设置一个类的属性为私有的,应使用关键字( C )A、protectedB、publicC、privateD、super7、一个类可同时定义许多同名的方法,它们的参数个数、类型或顺序各不相同,传回值的类型也可以不相同,这称为( C )A、隐藏B、覆盖C、重载D、重写8、设数组len由以下语句定义float len=new float int[22];则数组的最后一个元素的正确引用方法为( C )A、len [0]B、len []C、len [21]D、len[22]9、Java语言中下面哪个不是正确的关键字( D )A、synchronizedB、implementsC、superD、main10、下列代码第( C )行会出错。
蓝桥杯2022年java试题基础练习
蓝桥杯2022年java试题基础练习⼀:基础练习:(本⽂只附代码,解析后续修改后添上) 1.a+b问题: 代码如下:1 1 import java.util.*;2 2 public class Main {3 3 public static void main(String args[]) {4 4 int a,b;5 56 6 Scanner input = new Scanner(System.in);7 7 a = input.nextInt();8 8 b = input.nextInt();9 910 10 System.out.println(a+b);11 11 }12 12 }View Code 2.序列排序问题: 代码如下:1 1 import java.util.Arrays;2 2 import java.util.Scanner;3 34 4 public class Main {5 5 public static void main(String[] args) {6 6 Scanner scanner = new Scanner(System.in);7 7 int n = scanner.nextInt();8 8 int[] arr = new int[n];9 9 //往数组添加元素,接收数据10 10 for (int i = 0; i < n; i++) {11 11 arr[i] = scanner.nextInt();12 12 }13 1314 14 //对数组排序15 15 Arrays.sort(arr);16 1617 17 //打印数组18 18 for (int i = 0; i < n; i++) {19 19 System.out.print(arr[i] + " ");20 20 }21 21 }22 22 }View Code 3.⼗六进制转⼋进制: 代码如下:1import java.util.Scanner;2public class Main {3public static void main(String[] args) {4 Question1();56 }8 Scanner in = new Scanner(System.in);9int n = Integer.parseInt(in.nextLine());10int i, j;11 String[] sz = new String[n];12//读⼊⼗六进制数13for (i = 0; i < n; i++) {14 sz[i] = in.next();15 }16for(i = 0; i < sz.length; i++) {17 String s = sz[i];18 StringBuilder sb = new StringBuilder();19//将⼀位⼗六进制数转换为四位⼆进制数 20for(j = 0; j < s.length(); j++) {21switch(s.charAt(j)) {22case '0':23 sb.append("0000");24break;25case '1':26 sb.append("0001");27break;28case '2':29 sb.append("0010");30break;31case '3':32 sb.append("0011");33break;34case '4':35 sb.append("0100");36break;37case '5':38 sb.append("0101");39break;40case '6':41 sb.append("0110");42break;43case '7':44 sb.append("0111");45break;46case '8':47 sb.append("1000");48break;49case '9':50 sb.append("1001");51break;52case 'A':53 sb.append("1010");54break;55case 'B':56 sb.append("1011");57break;58case 'C':59 sb.append("1100");60break;61case 'D':62 sb.append("1101");63break;64case 'E':65 sb.append("1110");66break;67case 'F':68 sb.append("1111");69break;70 }71 }72//再将⼆进制数转换成⼋进制数73 transform(sb);74 }7576 }77public static void transform(StringBuilder sb) { 78int num = sb.length() % 3;79//判断长度是否为3的倍数80switch(num) {81case 0:82//若转换的⼋进制数中第⼀位为0则删去 83if(sb.substring(0, 3).equals("000"))84 sb.delete(0, 3);85break;86case 1:87if(sb.substring(0, 1).equals("0"))88 sb.delete(0, 1);89else sb = sb.insert(0, "00");92if(sb.substring(0, 2).equals("00"))93 sb.delete(0, 2);94else sb = sb.insert(0, "0");95break;96 }97 StringBuilder res = new StringBuilder();98int len = sb.length();99 String[] new_s1 = new String[len/3];100//取三位转换成⼋进制数101for(int i = 0; i < len/3; i++) {102int tmp = Integer.parseInt(sb.substring(i * 3, i * 3 + 3), 2); 103 res.append(tmp);104 }105 System.out.println(res);106 }107 }View Code4.⼗六进制转⼗进制: 代码如下:1import java.util.Scanner;2public class Main {3public static void main(String[] args) {4 Scanner scanner = new Scanner(System.in);5 String string = scanner.nextLine();6 System.out.print(Long.parseLong(string, 16));7 }8 }View Code5.⼗进制转⼗六进制: 代码如下:1import java.util.Scanner;2public class Main {3public static void main(String[] args) {4 Scanner input = new Scanner(System.in);5 one(input.nextInt());67 }89public static void one(int a){10int b;11if(a<=15) {12 tohax(a);13// System.out.print(a);1415 }16else{17 b=a%16;18 one(a>>4);19 tohax(b);20// System.out.print(b);21 }22 }23public static void tohax(int c){24switch (c){25default:26 System.out.print(c);27break;2829case 10:30 System.out.print("A");31break;32case 11:35case 12:36 System.out.print("C");37break;38case 13:39 System.out.print("D");40break;41case 14:42 System.out.print("E");43break;44case 15:45 System.out.print("F");46break;4748 }49 }50 }View Code6.特殊的回⽂数: 代码如下:1import java.util.Scanner;23public class Main {4final static byte one = 1;//常量1.5final static byte two = 2;//常量2.6final static byte ten = 10;//常量10;78//输⼊:正整数n。
回文数编程
回文数编程回文数编程是一种编程技术,可以判断一个数是否为回文数。
什么是回文数?回文数指的是从前往后读和从后往前读都一样的数字。
比如121、1221、12321等数字就是回文数。
在编程中,可以使用字符串或数字类型的变量来判断一个数是否为回文数。
使用字符串来判断回文数的方法是将数字转换为字符串,然后将字符串反转,最后比较反转后的字符串和原字符串是否相等。
使用数字类型的变量来判断回文数的方法是通过数学运算来实现。
具体过程如下:1.将待判断的数字按位分解,得到每一位上的数字。
2.将每一位上的数字按照与原数字相反的顺序组成一个新的数字。
3.比较新数字和原数字是否相等,如果相等,则原数字是回文数,否则不是回文数。
例如,假设我们要判断数字12321是否为回文数,可以使用以下代码:```int num = 12321;int reverseNum = 0;int temp = num;while(temp > 0){reverseNum = reverseNum * 10 + temp % 10;temp /= 10;}if(reverseNum == num){printf('%d是回文数', num);}else{printf('%d不是回文数', num);}```通过以上代码,我们可以判断数字12321是否为回文数,并输出结果为'12321是回文数'。
回文数编程是一项基础的编程技术,掌握它可以帮助我们更好地理解数字的运算和字符串的处理。
同时,在日常的开发中,判断一个数是否为回文数也是一项常见的需求,掌握回文数编程技术可以帮助我们更快、更高效地解决这类问题。
c语言填空题回文数程序
c语言填空题回文数程序
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
例如,121、12321等都是回文数。
下面是一个用C语言编写的程序,用于判断一个整数是否为回文数:
c
#include <stdio.h>
int main() {
int num, reversedNum = 0, remainder, originalNum;
printf("请输入一个整数: ");
scanf("%d", &num);
originalNum = num;
// 反转数字
while (num != 0) {
remainder = num % 10;
reversedNum = reversedNum * 10 + remainder;
num /= 10;
}
// 判断是否为回文数
if (originalNum == reversedNum) {
printf("%d 是回文数
", originalNum);
} else {
printf("%d 不是回文数
", originalNum);
}
return 0;
}
将上述代码复制到C语言编译器中,运行后输入一个整数,程序会判断该整数是否为回文数并输出结果。
Java程序设计-第14章 附录《Java程序设计实验课安排》
Java 程序设计实验课安排[1] 高飞,陆佳炜等。
Java 程序设计实用教程。
北京:清华大学出版社,2013(ISBN :978-7-302-31695-4)[2] 高飞,赵小敏等。
Java 程序设计实用教程习题集。
北京:清华大学出版社,2013(ISBN :978-7-302-32051-7)第一次上机(2学时)1.1、编写一个程序,打印100~200之间的素数,要求每行按10个数(数与数之间有一个空格间隔)的形式对其输出。
1.2、编写一个编程,给定一个t 的值按下式计算y 值并输出,要求分别用if 和switch 语句来实现。
⎪⎪⎪⎩⎪⎪⎪⎨⎧−<≤+<≤⋅−<≤−−<≤−=其它175153)sin(3122101223t t t t t t t t t t t t y 提示:平方根:Math.sqrt(n) 计算sin(t)方法:Math.sin(t)第二次上机(2学时)编写一个Java 应用程序,要求用户从键盘输入一个1—99999这个数,然后判断是否是回文数。
回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。
设有3个数组内容如下:String x[]={"zero","one","two", "three","four", "five","six","seven","eight","nine"} ;String y[]={"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen" };String z[]={"twenty","thirty","forty","fifty", "sixty","seventy", "eighty","ninety"};用Java命令行输入一个小于100的整数,将其翻成英文表示。
scratch算法练习-检测回文数
scratch算法练习-检测回文数
回文数的概念:即是给定一个数,这个数顺读和逆读都是一样的。
例如:121,1221是回文数,123,1231不是回文数。
题目:让用户输入任意一个数字,判断这个数字是否是回文数。
思路:第一位和最后一位比较,第二位和倒数第二位比较……比到正中间结束,如果全都对应相等,那么就是回文数。
难点在于如何用数学的方法找到这样的对应关系,举个例子:123321这是一个6为回文数,第1位对应的就是第6为;第2位对应的就是第(6-1)位;第3位对应的是(6-2位)总结出规律,第n位对应的就是第【数字长度-(n-1)】位。
总共比多少次?因为回文数关于中心对称,只要比较对称的数即可,也就是数字长度除以2次的商次,例如6位就比3次,7位比3次,8位比4次……。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
else
System.out.println("你输入的不是回文数");
}
}
这两种方法都能实现对回文数的判断,第一种只能针对整数,第二种似乎能针对所有的字符。
StringBuffer source = new StringBuffer(inputValue);
source.reverse();
String reverseString = new String(source);
if(reverseString.equals(inputValue))
第一种方法的代码如下:
import javax.swing.JOptionPane;
public class Palindrome
{
public static void main(String [] args)
{
String inputValuelog("请输入一个整数");
}
第二种方法的代码如下:
import javax.swing.JOptionPane;
public class PalindromeUseString
{
public static void main(String [] args)
{
String inputValue = JOptionPane.showInputDialog("请输入一个整数");
inputValueLong = inputValueLong/10;
}
if(reverseLong == temp)
System.out.println("你输入的是回文数");
else
System.out.println("你输入的不是回文数");
}
long inputValueLong = Long.parseLong(inputValue);
long temp = inputValueLong;
long reverseLong = 0L;
while(inputValueLong != 0)
{
reverseLong = reverseLong*10+inputValueLong%10;