正文
java代码翻转 java怎么反转字符串
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
利用java实现图片翻转的代码
重载渲染控件的paintComponent(Graphics
g)方法.
设你当前图像实例为img,已初始化,需要旋转的角度为ang
public
void
paintComponent(Graphics
g){
super.paintCompoent(g);
Graphics2D
g2d
=
(Graphics2D)g;
g2d.rotate(-angle);
g2d.drawImage(img,0,0,this.getWidth(),this.getHeight(),null);
}
Graphics,Graphics2D
类中有对当前描绘环境进行仿射变换的方法,包括translate,scale,rotate,也可以直接设置仿射变换矩阵,利用这点就可以根据所需要的实现方式来进行描绘.
用JAVA写一段程序翻转字符串
例子
String a="abcde";
char[] b=a.toCharArray();
char temp;
for(int i=0;ib.length/2;i++)
{
temp=b[i];
b[i]=b[b.length-i-1];
b[b.length-i-1]=temp;
}
a=new String(b);
System.out.print(a);
跟字符串长度有关系java代码翻转,时间复杂度大概是O(n/2)...
java 图像翻转 。。求解释 代码!!
在操作二维或三维的图形图像上,长期以来人们总结出了一些常用的变换矩阵,这些矩阵就像公式和定理一样被开发人员使用,楼主可以把这些矩阵当成公式来记忆,就像我们小时候背加法、乘法口诀一样。
如果楼主想了解得更深入一些,请往下看:
[ x'] [ m00 m01 m02 ] [ x ] [ m00x + m01y + m02 ]
[ y'] = [ m10 m11 m12 ] [ y ] = [ m10x + m11y + m12 ]
[ 1 ] [ 0 0 1 ] [ 1 ] [ 1 ]
上面的式子是jdk文档中复制过来的,就是变换时的运算过程,也就是说变换后的坐标x'、y'是由一个3*3的矩阵与原坐标x、y相乘得出的,其中的m00~m12就是AffineTransform构造方法中的六个参数,另外,式子中的最后一行是固定的。
矩阵乘法就不用说了吧,最后得出的结果就是上式中的最后一列,可能写成下面这样会更容易理解:
x' = m00x + m01y + m02
y' = m10x + m11y + m12
看出什么了吗?其实这就是二维平面直角坐标系中的两个很简单的二元一次方程而已,方程定义的就是横纵坐标变换的规则。
以水平翻转为例,水平翻转是以图形/图像的垂直中线为轴来翻转的,因此任何一个点(x,y)变换后的坐标应该是y坐标不变,x坐标变为-x+width-1,即(-x+width-1,y),之所以减1是因为垂直中轴上的点不应该改变。
理解了上面的变换过程之后,将结果带入上面的两个二元一次方程,可以得出
m00=-1、m01=0、m02=width-1
m10=0、m11=1、m12=0
正好是你给的代码中的六个值(AffineTransform构造方法中的参数顺序为m00、m10、m01、m11、m02、m12)
其他几个变换道理是一样的
java中怎么颠倒数据输出顺序
颠倒数据输出顺序
那么就需要知道数据,是什么类型的数据?
字符串?数组?集合?
下面代码
import java.util.ArrayList;
import java.util.Collections;
public class DataREV {
public static void main(String[] args) {
String str1 = "abcdefg";
String str2 = new StringBuilder(str1).reverse().toString();//字符串翻转顺序
System.out.println("原始顺序:" + str1 + "\n颠倒顺序:" + str2);
int[] ary1 = { 8, 2, 6, 8 };
System.out.println("原始顺序:");
for (int i = 0; i ary1.length; i++) {
System.out.print(ary1[i] + " ");
}
System.out.println("\n颠倒顺序:");
for (int i = ary1.length - 1; i = 0; i--) {//数组从末尾向第0位方向输出
System.out.print(ary1[i] + " ");
}
System.out.println();
ArrayListString list = new ArrayListString();
list.add("第一");
list.add("第二");
list.add("第三");
for (String s : list) {
System.out.print(s+" ");
}
System.out.println();
Collections.reverse(list);//集合翻转顺序
for (String s : list) {
System.out.print(s+" ");
}
System.out.println();
}
}
输出
原始顺序:abcdefg
颠倒顺序:gfedcba
原始顺序:
8 2 6 8
颠倒顺序:
8 6 2 8
第一 第二 第三
第三 第二 第一
JAVA 循环 翻转整数
不知道你的3行代码都有哪些要求。写了一个你自己参考修改吧
public class Test {
public static int reverse(int n) {
int isNegative = 1;
if (n 0) {
n = (-n);
isNegative = -1;
}
StringBuffer sb = new StringBuffer();// 创建空的StringBuffer
sb.append(n).reverse();// 将n添加到sb,然后反转。。
return isNegative * Integer.parseInt(sb.toString());
}
public static void main(String args[]) {
System.out.println(reverse(654321));
System.out.println(reverse(-123456));
}
}
Java中如何实现字符串反转?
反转:
public class test{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入:");
String s1 = input.nextLine();//得到输入的字符e5a48de588b6e799bee5baa6e997aee7ad9431333363396464串
System.out.print("翻转后:");
for(int i=s1.length()-1;i=0;i--){
System.out.print(s1.charAt(i));
}
}
}
或者
import java.util.*;
public class StringChange{
public static void main(String[] args){
System.out.println("Please enter the String:");
String str = new Scanner(System.in).nextLine(); //输入字符串
String s2[] = str.split("\\s"); // \s 以空格为分隔符拆分字符串,并保存到数组s2里面
for (int i = s2.length-1; i = 0; i--) { //反向输出数组
System.out.print(s2[i]+" ");
}
}
}
关于java代码翻转和java怎么反转字符串的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。